-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
tools headers: Update the arch/x86/lib/memset_64.S copy with the kern…
…el sources To pick up the changes in: 2981557 x86,kcfi: Fix EXPORT_SYMBOL vs kCFI That required adding a copy of include/linux/cfi_types.h and its checking in tools/perf/check-headers.h. Addressing this perf tools build warning: Warning: Kernel ABI header differences: diff -u tools/arch/x86/lib/memset_64.S arch/x86/lib/memset_64.S Please see tools/include/uapi/README for further details. Acked-by: Ingo Molnar <mingo@kernel.org> Tested-by: Venkat Rao Bagalkote <venkat88@linux.ibm.com> Cc: x86@kernel.org Link: https://lore.kernel.org/r/20250410001125.391820-11-namhyung@kernel.org Signed-off-by: Namhyung Kim <namhyung@kernel.org>
- Loading branch information
Namhyung Kim
committed
Apr 10, 2025
1 parent
847f140
commit 7f56978
Showing
3 changed files
with
48 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
/* SPDX-License-Identifier: GPL-2.0 */ | ||
/* | ||
* Clang Control Flow Integrity (CFI) type definitions. | ||
*/ | ||
#ifndef _LINUX_CFI_TYPES_H | ||
#define _LINUX_CFI_TYPES_H | ||
|
||
#ifdef __ASSEMBLY__ | ||
#include <linux/linkage.h> | ||
|
||
#ifdef CONFIG_CFI_CLANG | ||
/* | ||
* Use the __kcfi_typeid_<function> type identifier symbol to | ||
* annotate indirectly called assembly functions. The compiler emits | ||
* these symbols for all address-taken function declarations in C | ||
* code. | ||
*/ | ||
#ifndef __CFI_TYPE | ||
#define __CFI_TYPE(name) \ | ||
.4byte __kcfi_typeid_##name | ||
#endif | ||
|
||
#define SYM_TYPED_ENTRY(name, linkage, align...) \ | ||
linkage(name) ASM_NL \ | ||
align ASM_NL \ | ||
__CFI_TYPE(name) ASM_NL \ | ||
name: | ||
|
||
#define SYM_TYPED_START(name, linkage, align...) \ | ||
SYM_TYPED_ENTRY(name, linkage, align) | ||
|
||
#else /* CONFIG_CFI_CLANG */ | ||
|
||
#define SYM_TYPED_START(name, linkage, align...) \ | ||
SYM_START(name, linkage, align) | ||
|
||
#endif /* CONFIG_CFI_CLANG */ | ||
|
||
#ifndef SYM_TYPED_FUNC_START | ||
#define SYM_TYPED_FUNC_START(name) \ | ||
SYM_TYPED_START(name, SYM_L_GLOBAL, SYM_A_ALIGN) | ||
#endif | ||
|
||
#endif /* __ASSEMBLY__ */ | ||
#endif /* _LINUX_CFI_TYPES_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters