• Mark Rutland's avatar
    arm64: entry: mark entry code as noinstr · da192676
    Mark Rutland authored
    Functions in entry-common.c are marked as notrace and NOKPROBE_SYMBOL(),
    but they're still subject to other instrumentation which may rely on
    lockdep/rcu/context-tracking being up-to-date, and may cause nested
    exceptions (e.g. for WARN/BUG or KASAN's use of BRK) which will corrupt
    exceptions registers which have not yet been read.
    
    Prevent this by marking all functions in entry-common.c as noinstr to
    prevent compiler instrumentation. This also blacklists the functions for
    tracing and kprobes, so we don't need to handle that separately.
    Functions elsewhere will be dealt with in subsequent patches.
    Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: James Morse <james.morse@arm.com>
    Cc: Will Deacon <will@kernel.org>
    Link: https://lore.kernel.org/r/20201130115950.22492-4-mark.rutland@arm.comSigned-off-by: default avatarWill Deacon <will@kernel.org>
    da192676
entry-common.c 7.29 KB