• Mark Rutland's avatar
    arm64: entry: mark all entry code as notrace · 2d226c1e
    Mark Rutland authored
    Almost all functions in entry-common.c are marked notrace, with
    el1_undef and el1_inv being the only exceptions. We appear to have done
    this on the assumption that there were no exception registers that we
    needed to snapshot, and thus it was safe to run trace code that might
    result in further exceptions and clobber those registers.
    
    However, until we inherit the DAIF flags, our irq flag tracing is stale,
    and this discrepancy could set off warnings in some configurations. For
    example if CONFIG_DEBUG_LOCKDEP is selected and a trace function calls
    into any flag-checking locking routines. Given we don't expect to
    trigger el1_undef or el1_inv unless something is already wrong, any
    irqflag warnigns are liable to mask the information we'd actually care
    about.
    
    Let's keep things simple and mark el1_undef and el1_inv as notrace.
    Developers can trace do_undefinstr and bad_mode if they really want to
    monitor these cases.
    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>
    Signed-off-by: default avatarWill Deacon <will@kernel.org>
    2d226c1e
entry-common.c 7.36 KB