From owner-freebsd-bugs Thu Dec 25 22:00:04 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id WAA25067 for bugs-outgoing; Thu, 25 Dec 1997 22:00:04 -0800 (PST) (envelope-from owner-freebsd-bugs) Received: (from gnats@localhost) by hub.freebsd.org (8.8.7/8.8.7) id WAA25043; Thu, 25 Dec 1997 22:00:01 -0800 (PST) (envelope-from gnats) Date: Thu, 25 Dec 1997 22:00:01 -0800 (PST) Message-Id: <199712260600.WAA25043@hub.freebsd.org> To: freebsd-bugs Cc: From: Tim Vanderhoek Subject: Re: kern/2412 Reply-To: Tim Vanderhoek Sender: owner-freebsd-bugs@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk The following reply was made to PR kern/2412; it has been noted by GNATS. From: Tim Vanderhoek To: Bruce Evans Cc: dima@tejblum.dnttm.rssi.ru, hoek@freebsd.org, h-nokubi@nmit.mt.nec.co.jp, gnats-submit@freebsd.org Subject: Re: kern/2412 Date: Mon, 25 Nov 1996 23:49:38 -0500 (EST) On Fri, 26 Dec 1997, Bruce Evans wrote: > No one specific is responsible, but USER_LDT is obviously quite > broken without the option being visible. fork(), exec() and exit() Okay, but I'm not about to enable untested code in machdep.c or vm_machdep.c, so I'll change the synopsis to reflect the problem, and add this message and one of Dima's to the audit-trail. I'll also note that the originator reports that the original problem ("wine does not run") can be worked-around by using a newer version of wine. > are broken. fork()ing with an active user LDT at best leaves 2 > processes sharing the LDT. exec()ing with an active LDT leaks > memory and privilege. exit()Ing with an active LDT leaks memory. > I guess wine doesn't change the user LDT often enough for the bugs > to do more than leak memory. > > I'd like testing of misconfigured options to be fatal but can't see > a good way to implement it. A bad way: > - in opt_global.h, define each option that doesn't belong in opt_global.h > as an expression with a syntax error. > - redefine the expression in each opt_foo.h file (same as now, except > for an #undef to prevent a warning). > - change each test of an option to use `#if' to ensure an error if the > expression is not defined properly. > > Bruce > -- tIM...HOEk OPTIMIZATION: the process of using many one-letter variables names hoping that the resultant code will run faster.