• Mathias Krause's avatar
    x86/extable: Ensure entries are swapped completely when sorting · 67d7a982
    Mathias Krause authored
    The x86 exception table sorting was changed in this recent commit:
    
      29934b0f ("x86/extable: use generic search and sort routines")
    
    ... to use the arch independent code in lib/extable.c. However, the
    patch was mangled somehow on its way into the kernel from the last
    version posted at:
    
      https://lkml.org/lkml/2016/1/27/232
    
    The committed version kind of attempted to incorporate the changes of
    contemporary commit done in the x86 tree:
    
      548acf19 ("x86/mm: Expand the exception table logic to allow new handling options")
    
    ... as in _completely_ _ignoring_ the x86 specific 'handler' member of
    struct exception_table_entry. This effectively broke the sorting as
    entries will only be partly swapped now.
    
    Fortunately, the x86 Kconfig selects BUILDTIME_EXTABLE_SORT, so the
    exception table doesn't need to be sorted at runtime. However, in case
    that ever changes, we better not break the exception table sorting just
    because of that.
    
    Fix this by providing a swap_ex_entry_fixup() macro that takes care of
    the 'handler' member.
    Signed-off-by: default avatarMathias Krause <minipli@googlemail.com>
    Reviewed-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Andy Lutomirski <luto@amacapital.net>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Borislav Petkov <bp@suse.de>
    Cc: Brian Gerst <brgerst@gmail.com>
    Cc: Denys Vlasenko <dvlasenk@redhat.com>
    Cc: H. Peter Anvin <hpa@zytor.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Tony Luck <tony.luck@intel.com>
    Link: http://lkml.kernel.org/r/1462914422-2911-1-git-send-email-minipli@googlemail.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    67d7a982
uaccess.h 24.4 KB