cfi: Add CFI_NOSEAL()

Add a CFI_NOSEAL() helper to mark functions that need to retain their
CFI information, despite not otherwise leaking their address.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/20231215092707.669401084@infradead.org
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
This commit is contained in:
Peter Zijlstra 2023-12-15 10:12:21 +01:00 committed by Alexei Starovoitov
parent 2cd3e3772e
commit e9d13b9d2f
2 changed files with 9 additions and 0 deletions

View file

@ -8,6 +8,7 @@
* Copyright (C) 2022 Google LLC
*/
#include <linux/bug.h>
#include <asm/ibt.h>
/*
* An overview of the various calling conventions...
@ -138,4 +139,8 @@ static inline u32 cfi_get_func_hash(void *func)
}
#endif /* CONFIG_CFI_CLANG */
#if HAS_KERNEL_IBT == 1
#define CFI_NOSEAL(x) asm(IBT_NOSEAL(__stringify(x)))
#endif
#endif /* _ASM_X86_CFI_H */

View file

@ -46,4 +46,8 @@ static inline void module_cfi_finalize(const Elf_Ehdr *hdr,
#endif /* CONFIG_ARCH_USES_CFI_TRAPS */
#endif /* CONFIG_MODULES */
#ifndef CFI_NOSEAL
#define CFI_NOSEAL(x)
#endif
#endif /* _LINUX_CFI_H */