mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [REGRESSION] um: CONFIG_STATIC_LINK=y broken
@ 2009-12-22  0:21 richard -rw- weinberger
  2009-12-22  0:27 ` Tim Abbott
  0 siblings, 1 reply; 8+ messages in thread
From: richard -rw- weinberger @ 2009-12-22  0:21 UTC (permalink / raw)
  To: linux-kernel; +Cc: tabbott

Hi,

CONFIG_STATIC_LINK=y is broken since 2.6.32.
The linux binary segfaults immediately.

This patch introduced the regression (bisected):
5d150a97f9391f5bcd7ba0d59d7a11c3de3cea80 is first bad commit
commit 5d150a97f9391f5bcd7ba0d59d7a11c3de3cea80
Author: Tim Abbott <tabbott@ksplice.com>
Date:   Thu Sep 24 10:36:20 2009 -0400

    um: Clean up linker script using standard macros.

    Signed-off-by: Tim Abbott <tabbott@ksplice.com>
    Cc: Jeff Dike <jdike@addtoit.com>
    Cc: user-mode-linux-devel@lists.sourceforge.net
    Acked-by: Sam Ravnborg <sam@ravnborg.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

:040000 040000 43c1b7afe756beb0dc5073195916d54ac41e7546
fe33dda7c1b15c61a6a65195cc6522beb25e7ba2 M      arch

Cheers,
//richard

^ permalink raw reply	[flat|nested] 8+ messages in thread
* [REGRESSION] um: CONFIG_STATIC_LINK=y broken
@ 2010-01-04 20:08 Tim Abbott
  0 siblings, 0 replies; 8+ messages in thread
From: Tim Abbott @ 2010-01-04 20:08 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: linux-kernel, Jeff Dike, user-mode-linux-devel, stable,
	richard -rw- weinberger, Sam Ravnborg

Hi Linus,

The following patch fixes a regression that I caused in 2.6.32 when 
cleaning up the um architecture's linker scripts.

I've not heard anything from the um maintainers (they have had since 
Richard Weinberger reported that this patch fixed the problem on December 
22), so I'm sending this to you now (and CCing stable@ since it affects 
2.6.32).

	-Tim Abbott

--

um: remove PAGE_SIZE alignment in linker script causing kernel segfault.

The linker script cleanup that I did in commit 
5d150a97f9391f5bcd7ba0d59d7a11c3de3cea80 accidentally introduced an 
ALIGN(PAGE_SIZE) when converting to use INIT_TEXT_SECTION; Richard 
Weinberger reported that this causes the kernel to segfault with 
CONFIG_STATIC_LINK=y.

I'm not certain why this extra alignment is a problem, but it seems likely 
it is because previously

__init_begin = _stext = _text = _sinittext 

and with the extra ALIGN(PAGE_SIZE), _sinittext becomes different from the 
rest.  So there is likely a bug here where something is assuming that 
_sinittext is the same as one of those other symbols.  But reverting the 
accidental change fixes the regression, so it seems worth committing that 
now.

Signed-off-by: Tim Abbott <tabbott@ksplice.com>
Reported-by: richard -rw- weinberger <richard.weinberger@gmail.com>
Cc: Jeff Dike <jdike@addtoit.com>
Cc: user-mode-linux-devel@lists.sourceforge.net
---
 arch/um/kernel/uml.lds.S |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/um/kernel/uml.lds.S b/arch/um/kernel/uml.lds.S
index e7a6cca..664f942 100644
--- a/arch/um/kernel/uml.lds.S
+++ b/arch/um/kernel/uml.lds.S
@@ -22,7 +22,7 @@ SECTIONS
   _text = .;
   _stext = .;
   __init_begin = .;
-  INIT_TEXT_SECTION(PAGE_SIZE)
+  INIT_TEXT_SECTION(0)
   . = ALIGN(PAGE_SIZE);
 
   .text      :
-- 
1.6.5.7

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

end of thread, other threads:[~2010-01-04 20:20 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-12-22  0:21 [REGRESSION] um: CONFIG_STATIC_LINK=y broken richard -rw- weinberger
2009-12-22  0:27 ` Tim Abbott
2009-12-22  0:39   ` richard -rw- weinberger
2009-12-22  0:53     ` Tim Abbott
2009-12-22  1:10       ` richard -rw- weinberger
2009-12-22  2:13         ` Tim Abbott
2009-12-22 11:42           ` richard -rw- weinberger
2010-01-04 20:08 Tim Abbott

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

all inboxes | Powered by JetHome®