mirror of
https://github.com/torvalds/linux.git
synced 2026-09-25 21:21:09 -04:00
When building with CONFIG_UBSAN_TRAP=y on arm64, Clang encodes the UBSAN check (handler) type in the esr. Extract this and actually report these traps as coming from the specific UBSAN check that tripped. Before: Internal error: BRK handler: 00000000f20003e8 [#1] PREEMPT SMP After: Internal error: UBSAN: shift out of bounds: 00000000f2005514 [#1] PREEMPT SMP Acked-by: Mark Rutland <[email protected]> Reviewed-by: Ard Biesheuvel <[email protected]> Acked-by: Mukesh Ojha <[email protected]> Reviewed-by: Fangrui Song <[email protected]> Cc: Catalin Marinas <[email protected]> Cc: Will Deacon <[email protected]> Cc: John Stultz <[email protected]> Cc: Yongqin Liu <[email protected]> Cc: Sami Tolvanen <[email protected]> Cc: Yury Norov <[email protected]> Cc: Andrey Konovalov <[email protected]> Cc: Marco Elver <[email protected]> Cc: [email protected] Cc: [email protected] Signed-off-by: Kees Cook <[email protected]>
10 lines
198 B
C
10 lines
198 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _LINUX_UBSAN_H
|
|
#define _LINUX_UBSAN_H
|
|
|
|
#ifdef CONFIG_UBSAN_TRAP
|
|
const char *report_ubsan_failure(struct pt_regs *regs, u32 check_type);
|
|
#endif
|
|
|
|
#endif
|