• Mark Rutland's avatar
    arm64: entry: add missing noinstr · 31a7f0f6
    Mark Rutland authored
    We intend that all the early exception handling code is marked as
    `noinstr`, but we forgot this for __el0_error_handler_common(), which is
    called before we have completed entry from user mode. If it were
    instrumented, we could run into problems with RCU, lockdep, etc.
    
    Mark it as `noinstr` to prevent this.
    
    The few other functions in entry-common.c which do not have `noinstr` are
    called once we've completed entry, and are safe to instrument.
    
    Fixes: bb8e93a2
    
     ("arm64: entry: convert SError handlers to C")
    Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Marc Zyngier <maz@kernel.org>
    Cc: Joey Gouly <joey.gouly@arm.com>
    Cc: James Morse <james.morse@arm.com>
    Cc: Will Deacon <will@kernel.org>
    Link: https://lore.kernel.org/r/20210714172801.16475-1-mark.rutland@arm.com
    
    Signed-off-by: default avatarWill Deacon <will@kernel.org>
    31a7f0f6
entry-common.c 17.3 KB