Re: [PATCH] pop previous section in alternative.c

From: H. Peter Anvin
Date: Wed Apr 09 2008 - 20:26:34 EST


Steven Rostedt wrote:
On Wed, 9 Apr 2008, Steven Rostedt wrote:

gcc expects all toplevel assembly to return to the original section type.
The code in alteranative.c does not do this. This caused some strange bugs
in sched-devel where code would end up in the .rodata section and when
the kernel sets the NX bit on all .rodata, the kernel would crash when
executing this code.

This patch adds a .previous marker to return the code back to the
original section.


Oh, and this would not be complete without giving Andrew Pinski complete
credit for telling me it wasn't a gcc bug but a bug in the toplevel asm
code in the kernel. ;-)


In many ways it's kind of silly for this even to be in assembly, since all it is is a sequence of comma-separated byte values; I guess it was the easiest way to deal with it given the ".byte" prefix, but still...

-hpa
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/