public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH mainline] menu: fix embedded menu snafu
@ 2009-03-02 22:14 Randy Dunlap
  2009-03-03  0:16 ` Andrew Morton
  0 siblings, 1 reply; 5+ messages in thread
From: Randy Dunlap @ 2009-03-02 22:14 UTC (permalink / raw)
  To: lkml; +Cc: torvalds, akpm

From: Randy Dunlap <randy.dunlap@oracle.com>

The COMPAT_BRK kconfig symbol does not depend on EMBEDDED,
but it is in the midst of the EMBEDDED menu symbols, so it mucks
up the EMBEDDED menu.  Fix by moving it to just after all of
the EMBEDDED menu symbols.  Also, surround all of the
EMBEDDED symbols with "if EMBEDDED"/"endif" so that this
EMBEDDED block is clearer.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
---
 init/Kconfig |   28 ++++++++++++++++------------
 1 file changed, 16 insertions(+), 12 deletions(-)

--- linux-2.6.29-rc6-git5.orig/init/Kconfig
+++ linux-2.6.29-rc6-git5/init/Kconfig
@@ -683,6 +683,8 @@ menuconfig EMBEDDED
           environments which can tolerate a "non-standard" kernel.
           Only use this if you really know what you are doing.
 
+if EMBEDDED
+
 config UID16
 	bool "Enable 16-bit UID system calls" if EMBEDDED
 	depends on ARM || BLACKFIN || CRIS || FRV || H8300 || X86_32 || M68K || (S390 && !64BIT) || SUPERH || SPARC32 || (SPARC64 && COMPAT) || UML || (X86_64 && IA32_EMULATION)
@@ -780,18 +782,6 @@ config PCSPKR_PLATFORM
           This option allows to disable the internal PC-Speaker
           support, saving some memory.
 
-config COMPAT_BRK
-	bool "Disable heap randomization"
-	default y
-	help
-	  Randomizing heap placement makes heap exploits harder, but it
-	  also breaks ancient binaries (including anything libc5 based).
-	  This option changes the bootup default to heap randomization
-	  disabled, and can be overriden runtime by setting
-	  /proc/sys/kernel/randomize_va_space to 2.
-
-	  On non-ancient distros (post-2000 ones) N is usually a safe choice.
-
 config BASE_FULL
 	default y
 	bool "Enable full-sized data structures for core" if EMBEDDED
@@ -897,6 +887,20 @@ config SLUB_DEBUG
 	  SLUB sysfs support. /sys/slab will not exist and there will be
 	  no support for cache validation etc.
 
+endif # EMBEDDED
+
+config COMPAT_BRK
+	bool "Disable heap randomization"
+	default y
+	help
+	  Randomizing heap placement makes heap exploits harder, but it
+	  also breaks ancient binaries (including anything libc5 based).
+	  This option changes the bootup default to heap randomization
+	  disabled, and can be overriden runtime by setting
+	  /proc/sys/kernel/randomize_va_space to 2.
+
+	  On non-ancient distros (post-2000 ones) N is usually a safe choice.
+
 choice
 	prompt "Choose SLAB allocator"
 	default SLUB

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH mainline] menu: fix embedded menu snafu
  2009-03-02 22:14 [PATCH mainline] menu: fix embedded menu snafu Randy Dunlap
@ 2009-03-03  0:16 ` Andrew Morton
  2009-03-03  0:21   ` Linus Torvalds
  0 siblings, 1 reply; 5+ messages in thread
From: Andrew Morton @ 2009-03-03  0:16 UTC (permalink / raw)
  To: Randy Dunlap; +Cc: linux-kernel, torvalds

On Mon, 2 Mar 2009 14:14:06 -0800
Randy Dunlap <randy.dunlap@oracle.com> wrote:

> The COMPAT_BRK kconfig symbol does not depend on EMBEDDED,
> but it is in the midst of the EMBEDDED menu symbols, so it mucks
> up the EMBEDDED menu.  Fix by moving it to just after all of
> the EMBEDDED menu symbols.  Also, surround all of the
> EMBEDDED symbols with "if EMBEDDED"/"endif" so that this
> EMBEDDED block is clearer.

This patch causes weird unintended breakage, methinks.

x86_64 allnoconfig does:

mm/bootmem.c: In function 'mark_bootmem':
mm/bootmem.c:321: warning: control reaches end of non-void function

because

        }
        BUG();
}

gets preprocessed down to

        }
        ;
}

because all BUG-related config options got removed:

akpm2:/usr/src/25> make allnoconfig
scripts/kconfig/conf -n arch/x86/Kconfig
#
# configuration written to .config
#
akpm2:/usr/src/25> grep BUG .config
CONFIG_X86_DEBUGCTLMSR=y
# CONFIG_INPUT_EVBUG is not set
# CONFIG_DEBUG_FS is not set
# CONFIG_DEBUG_KERNEL is not set
CONFIG_DEBUG_MEMORY_INIT=y


I think I'll wait for version 2...

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH mainline] menu: fix embedded menu snafu
  2009-03-03  0:16 ` Andrew Morton
@ 2009-03-03  0:21   ` Linus Torvalds
  2009-03-03  0:30     ` Ingo Molnar
  2009-03-03  0:35     ` [PATCH v2] " Randy Dunlap
  0 siblings, 2 replies; 5+ messages in thread
From: Linus Torvalds @ 2009-03-03  0:21 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Randy Dunlap, linux-kernel



On Mon, 2 Mar 2009, Andrew Morton wrote:
> 
> This patch causes weird unintended breakage, methinks.

Damn, you're right. It looked obvious, so I already applied it, but I 
clearly shouldn't have.

The whole "if EMBEDDED" thing is totally wrong, because those config 
options  very much_do_ exist even when non-embedded, it's just that then 
they always take their default valies.

Thanks for noticing.

		Linus

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH mainline] menu: fix embedded menu snafu
  2009-03-03  0:21   ` Linus Torvalds
@ 2009-03-03  0:30     ` Ingo Molnar
  2009-03-03  0:35     ` [PATCH v2] " Randy Dunlap
  1 sibling, 0 replies; 5+ messages in thread
From: Ingo Molnar @ 2009-03-03  0:30 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Andrew Morton, Randy Dunlap, linux-kernel


* Linus Torvalds <torvalds@linux-foundation.org> wrote:

> On Mon, 2 Mar 2009, Andrew Morton wrote:
> > 
> > This patch causes weird unintended breakage, methinks.
> 
> Damn, you're right. It looked obvious, so I already applied it, but I 
> clearly shouldn't have.
> 
> The whole "if EMBEDDED" thing is totally wrong, because those config 
> options  very much_do_ exist even when non-embedded, it's just that then 
> they always take their default valies.
> 
> Thanks for noticing.

probably also explains weird build breakages i've been getting 
since i updated to your latest:

  CC      kernel/futex.o
In file included from kernel/futex.c:61:
kernel/rtmutex_common.h: In function ‘task_has_pi_waiters’:
kernel/rtmutex_common.h:81: error: ‘struct task_struct’ has no 
member named ‘pi_waiters’
kernel/rtmutex_common.h: In function ‘task_top_pi_waiter’:
kernel/rtmutex_common.h:87: error: ‘struct task_struct’ has no 
member named ‘pi_waiters’
make[1]: *** [kernel/futex.o] Error 1

	Ingo

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH v2] menu: fix embedded menu snafu
  2009-03-03  0:21   ` Linus Torvalds
  2009-03-03  0:30     ` Ingo Molnar
@ 2009-03-03  0:35     ` Randy Dunlap
  1 sibling, 0 replies; 5+ messages in thread
From: Randy Dunlap @ 2009-03-03  0:35 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Andrew Morton, Randy Dunlap, linux-kernel

Linus Torvalds wrote:
> 
> On Mon, 2 Mar 2009, Andrew Morton wrote:
>> This patch causes weird unintended breakage, methinks.
> 
> Damn, you're right. It looked obvious, so I already applied it, but I 
> clearly shouldn't have.
> 
> The whole "if EMBEDDED" thing is totally wrong, because those config 
> options  very much_do_ exist even when non-embedded, it's just that then 
> they always take their default valies.


Crud.  OK, v2, probably just for Andrew for now (?).




From: Randy Dunlap <randy.dunlap@oracle.com>

The COMPAT_BRK kconfig symbol does not depend on EMBEDDED,
but it is in the midst of the EMBEDDED menu symbols, so it mucks
up the EMBEDDED menu.  Fix by moving it to just after all of
the EMBEDDED menu symbols.  Also, ANON_INODES has a similar
problem, so move it to just above the EMBEDDED menu items
since it is used in the EMBEDDED menu.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
---
 init/Kconfig |   30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)

--- linux-2.6.29-rc6-git5.orig/init/Kconfig
+++ linux-2.6.29-rc6-git5/init/Kconfig
@@ -675,6 +675,9 @@ config CC_OPTIMIZE_FOR_SIZE
 config SYSCTL
 	bool
 
+config ANON_INODES
+	bool
+
 menuconfig EMBEDDED
 	bool "Configure standard kernel features (for small systems)"
 	help
@@ -780,18 +783,6 @@ config PCSPKR_PLATFORM
           This option allows to disable the internal PC-Speaker
           support, saving some memory.
 
-config COMPAT_BRK
-	bool "Disable heap randomization"
-	default y
-	help
-	  Randomizing heap placement makes heap exploits harder, but it
-	  also breaks ancient binaries (including anything libc5 based).
-	  This option changes the bootup default to heap randomization
-	  disabled, and can be overriden runtime by setting
-	  /proc/sys/kernel/randomize_va_space to 2.
-
-	  On non-ancient distros (post-2000 ones) N is usually a safe choice.
-
 config BASE_FULL
 	default y
 	bool "Enable full-sized data structures for core" if EMBEDDED
@@ -809,9 +800,6 @@ config FUTEX
 	  support for "fast userspace mutexes".  The resulting kernel may not
 	  run glibc-based applications correctly.
 
-config ANON_INODES
-	bool
-
 config EPOLL
 	bool "Enable eventpoll support" if EMBEDDED
 	default y
@@ -897,6 +885,18 @@ config SLUB_DEBUG
 	  SLUB sysfs support. /sys/slab will not exist and there will be
 	  no support for cache validation etc.
 
+config COMPAT_BRK
+	bool "Disable heap randomization"
+	default y
+	help
+	  Randomizing heap placement makes heap exploits harder, but it
+	  also breaks ancient binaries (including anything libc5 based).
+	  This option changes the bootup default to heap randomization
+	  disabled, and can be overriden runtime by setting
+	  /proc/sys/kernel/randomize_va_space to 2.
+
+	  On non-ancient distros (post-2000 ones) N is usually a safe choice.
+
 choice
 	prompt "Choose SLAB allocator"
 	default SLUB

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2009-03-03  0:34 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-03-02 22:14 [PATCH mainline] menu: fix embedded menu snafu Randy Dunlap
2009-03-03  0:16 ` Andrew Morton
2009-03-03  0:21   ` Linus Torvalds
2009-03-03  0:30     ` Ingo Molnar
2009-03-03  0:35     ` [PATCH v2] " Randy Dunlap

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox