• Steven Rostedt's avatar
    pop previous section in alternative.c · f4be31ec
    Steven Rostedt authored
    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.
    
    Credit goes to Andrew Pinski for telling me it wasn't a gcc bug but a
    bug in the toplevel asm code in the kernel.  ;-)
    Signed-off-by: default avatarSteven Rostedt <srostedt@redhat.com>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    f4be31ec
alternative.c 12.1 KB