* [PATCH v2 0/3] tip:x86/entry: fix vdso build restructuring fallout
@ 2026-01-16 20:40 H. Peter Anvin
2026-01-16 20:40 ` [PATCH v2 1/3] x86/entry/vdso: update the object paths for "make vdso_install" H. Peter Anvin
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: H. Peter Anvin @ 2026-01-16 20:40 UTC (permalink / raw)
To: Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen
Cc: H. Peter Anvin, x86, Chris Mason, Thorsten Leemhuis, linux-kernel
After integration in linux-next, the movement of files from the vdso
restructuring broke "make vdso_install" and one of the kernel self
tests. [Thorsten Leemhuis, kernel test robot]
It also contained an incorrect filtering pattern which although
non-manifest at this point, is a forward compatibility bug [Chris
Mason]
x86/entry/vdso, selftest: update location of vgetrandom-chacha.S
x86/entry/vdso: x86/entry/vdso: fix filtering of compiler flags
x86/entry/vdso: update the object paths for "make vdso_install"
---
arch/x86/Makefile | 6 +++---
arch/x86/entry/vdso/common/Makefile.include | 6 +++---
tools/testing/selftests/vDSO/vgetrandom-chacha.S | 2 +-
3 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index 9ab7522ced18..5f881460a8b5 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -318,9 +318,9 @@ PHONY += install
install:
$(call cmd,install)
-vdso-install-$(CONFIG_X86_64) += arch/x86/entry/vdso/vdso64.so.dbg
-vdso-install-$(CONFIG_X86_X32_ABI) += arch/x86/entry/vdso/vdsox32.so.dbg
-vdso-install-$(CONFIG_COMPAT_32) += arch/x86/entry/vdso/vdso32.so.dbg
+vdso-install-$(CONFIG_X86_64) += arch/x86/entry/vdso/vdso64/vdso64.so.dbg
+vdso-install-$(CONFIG_X86_X32_ABI) += arch/x86/entry/vdso/vdso64/vdsox32.so.dbg
+vdso-install-$(CONFIG_COMPAT_32) += arch/x86/entry/vdso/vdso32/vdso32.so.dbg
archprepare: checkbin
checkbin:
diff --git a/arch/x86/entry/vdso/common/Makefile.include b/arch/x86/entry/vdso/common/Makefile.include
index 3514b4a6869b..bf5798cb6781 100644
--- a/arch/x86/entry/vdso/common/Makefile.include
+++ b/arch/x86/entry/vdso/common/Makefile.include
@@ -23,9 +23,9 @@ $(obj)/%.lds : KBUILD_CPPFLAGS += $(CPPFLAGS_VDSO_LDS)
#
flags-remove-y += \
-D__KERNEL__ -mcmodel=kernel -mregparm=3 \
- -fno-pic -fno-PIC -fno-pie fno-PIE \
+ -fno-pic -fno-PIC -fno-pie -fno-PIE \
-mfentry -pg \
- $(RANDSTRUCT_CFLAGS) $(GCC_PLUGIN_CFLAGS) $(KSTACK_ERASE_CFLAGS) \
+ $(RANDSTRUCT_CFLAGS) $(GCC_PLUGINS_CFLAGS) $(KSTACK_ERASE_CFLAGS) \
$(RETPOLINE_CFLAGS) $(CC_FLAGS_LTO) $(CC_FLAGS_CFI) \
$(PADDING_CFLAGS)
@@ -45,7 +45,7 @@ flags-y += -fasynchronous-unwind-tables
# Reset cf protections enabled by compiler default
flags-y += $(call cc-option, -fcf-protection=none)
-flags-$(X86_USER_SHADOW_STACK) += $(call cc-option, -fcf-protection=return)
+flags-$(CONFIG_X86_USER_SHADOW_STACK) += $(call cc-option, -fcf-protection=return)
# When user space IBT is supported, enable this.
# flags-$(CONFIG_USER_IBT) += $(call cc-option, -fcf-protection=branch)
diff --git a/tools/testing/selftests/vDSO/vgetrandom-chacha.S b/tools/testing/selftests/vDSO/vgetrandom-chacha.S
index a4a82e1c28a9..10f982157a1f 100644
--- a/tools/testing/selftests/vDSO/vgetrandom-chacha.S
+++ b/tools/testing/selftests/vDSO/vgetrandom-chacha.S
@@ -16,5 +16,5 @@
#elif defined(__s390x__)
#include "../../../../arch/s390/kernel/vdso64/vgetrandom-chacha.S"
#elif defined(__x86_64__)
-#include "../../../../arch/x86/entry/vdso/vgetrandom-chacha.S"
+#include "../../../../arch/x86/entry/vdso/vdso64/vgetrandom-chacha.S"
#endif
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v2 1/3] x86/entry/vdso: update the object paths for "make vdso_install"
2026-01-16 20:40 [PATCH v2 0/3] tip:x86/entry: fix vdso build restructuring fallout H. Peter Anvin
@ 2026-01-16 20:40 ` H. Peter Anvin
2026-01-16 21:46 ` [tip: x86/entry] x86/entry/vdso: Update " tip-bot2 for H. Peter Anvin
2026-01-16 20:40 ` [PATCH v2 2/3] x86/entry/vdso: fix filtering of vdso compiler flags H. Peter Anvin
2026-01-16 20:40 ` [PATCH v2 3/3] x86/entry/vdso, selftest: update location of vgetrandom-chacha.S H. Peter Anvin
2 siblings, 1 reply; 9+ messages in thread
From: H. Peter Anvin @ 2026-01-16 20:40 UTC (permalink / raw)
To: Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen
Cc: H. Peter Anvin, x86, Chris Mason, Thorsten Leemhuis, linux-kernel
The location of the vdso binary files in the object tree has changed;
update "make vdso_install" to match.
Reported-by: Thorsten Leemhuis <linux@leemhuis.info>
Closes: https://lore.kernel.org/16ea64d1-2a9b-46f9-9fcc-42958f599eb6@leemhuis.info
Fixes: 693c819fedcd ("x86/entry/vdso: Refactor the vdso build")
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
---
arch/x86/Makefile | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index 9ab7522ced18..5f881460a8b5 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -318,9 +318,9 @@ PHONY += install
install:
$(call cmd,install)
-vdso-install-$(CONFIG_X86_64) += arch/x86/entry/vdso/vdso64.so.dbg
-vdso-install-$(CONFIG_X86_X32_ABI) += arch/x86/entry/vdso/vdsox32.so.dbg
-vdso-install-$(CONFIG_COMPAT_32) += arch/x86/entry/vdso/vdso32.so.dbg
+vdso-install-$(CONFIG_X86_64) += arch/x86/entry/vdso/vdso64/vdso64.so.dbg
+vdso-install-$(CONFIG_X86_X32_ABI) += arch/x86/entry/vdso/vdso64/vdsox32.so.dbg
+vdso-install-$(CONFIG_COMPAT_32) += arch/x86/entry/vdso/vdso32/vdso32.so.dbg
archprepare: checkbin
checkbin:
--
2.52.0
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v2 2/3] x86/entry/vdso: fix filtering of vdso compiler flags
2026-01-16 20:40 [PATCH v2 0/3] tip:x86/entry: fix vdso build restructuring fallout H. Peter Anvin
2026-01-16 20:40 ` [PATCH v2 1/3] x86/entry/vdso: update the object paths for "make vdso_install" H. Peter Anvin
@ 2026-01-16 20:40 ` H. Peter Anvin
2026-01-16 21:46 ` [tip: x86/entry] x86/entry/vdso: Fix " tip-bot2 for H. Peter Anvin
2026-01-18 2:17 ` [PATCH v2 2/3] x86/entry/vdso: fix " kernel test robot
2026-01-16 20:40 ` [PATCH v2 3/3] x86/entry/vdso, selftest: update location of vgetrandom-chacha.S H. Peter Anvin
2 siblings, 2 replies; 9+ messages in thread
From: H. Peter Anvin @ 2026-01-16 20:40 UTC (permalink / raw)
To: Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen
Cc: H. Peter Anvin, x86, Chris Mason, Thorsten Leemhuis, linux-kernel
This fixes several typos in the filtering of compiler flags for vdso,
discovered by Chris Mason using an AI script:
1. "-fno-PIE" was written as "fno-PIE".
2. "CC_PLUGINS_FLAGS" was written as "CC_PLUGIN_FLAGS"
3. "CONFIG_X86_USER_SHADOW_STACK" was missing "CONFIG_".
To the best of my knowledge, none of these actually had any real
impact on the build at this time (the shadow stack option, in
particular, used happens to not generate any code), but they are
genuine bugs which could break things at any point in the future.
Reported-by: Chris Mason <clm@meta.com>
Closes: https://lore.kernel.org/20260116035807.2307742-1-clm@meta.com
Fixes: 693c819fedcd ("x86/entry/vdso: Refactor the vdso build")
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
---
arch/x86/entry/vdso/common/Makefile.include | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/arch/x86/entry/vdso/common/Makefile.include b/arch/x86/entry/vdso/common/Makefile.include
index 3514b4a6869b..bf5798cb6781 100644
--- a/arch/x86/entry/vdso/common/Makefile.include
+++ b/arch/x86/entry/vdso/common/Makefile.include
@@ -23,9 +23,9 @@ $(obj)/%.lds : KBUILD_CPPFLAGS += $(CPPFLAGS_VDSO_LDS)
#
flags-remove-y += \
-D__KERNEL__ -mcmodel=kernel -mregparm=3 \
- -fno-pic -fno-PIC -fno-pie fno-PIE \
+ -fno-pic -fno-PIC -fno-pie -fno-PIE \
-mfentry -pg \
- $(RANDSTRUCT_CFLAGS) $(GCC_PLUGIN_CFLAGS) $(KSTACK_ERASE_CFLAGS) \
+ $(RANDSTRUCT_CFLAGS) $(GCC_PLUGINS_CFLAGS) $(KSTACK_ERASE_CFLAGS) \
$(RETPOLINE_CFLAGS) $(CC_FLAGS_LTO) $(CC_FLAGS_CFI) \
$(PADDING_CFLAGS)
@@ -45,7 +45,7 @@ flags-y += -fasynchronous-unwind-tables
# Reset cf protections enabled by compiler default
flags-y += $(call cc-option, -fcf-protection=none)
-flags-$(X86_USER_SHADOW_STACK) += $(call cc-option, -fcf-protection=return)
+flags-$(CONFIG_X86_USER_SHADOW_STACK) += $(call cc-option, -fcf-protection=return)
# When user space IBT is supported, enable this.
# flags-$(CONFIG_USER_IBT) += $(call cc-option, -fcf-protection=branch)
--
2.52.0
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v2 3/3] x86/entry/vdso, selftest: update location of vgetrandom-chacha.S
2026-01-16 20:40 [PATCH v2 0/3] tip:x86/entry: fix vdso build restructuring fallout H. Peter Anvin
2026-01-16 20:40 ` [PATCH v2 1/3] x86/entry/vdso: update the object paths for "make vdso_install" H. Peter Anvin
2026-01-16 20:40 ` [PATCH v2 2/3] x86/entry/vdso: fix filtering of vdso compiler flags H. Peter Anvin
@ 2026-01-16 20:40 ` H. Peter Anvin
2026-01-16 21:46 ` [tip: x86/entry] x86/entry/vdso/selftest: Update " tip-bot2 for H. Peter Anvin
2 siblings, 1 reply; 9+ messages in thread
From: H. Peter Anvin @ 2026-01-16 20:40 UTC (permalink / raw)
To: Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen
Cc: H. Peter Anvin, x86, Chris Mason, Thorsten Leemhuis,
linux-kernel, kernel test robot
As part of the vdso build restructuring, vgetrandom-chacha.S moved
into the vdso/vdso64 subdirectory. Update the selftest #include to
match.
Reported-by: kernel test robot <oliver.sang@intel.com>
Closes: https://lore.kernel.org/oe-lkp/202601161608.5cd5af9a-lkp@intel.com
Fixes: 693c819fedcd ("x86/entry/vdso: Refactor the vdso build")
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
---
tools/testing/selftests/vDSO/vgetrandom-chacha.S | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/testing/selftests/vDSO/vgetrandom-chacha.S b/tools/testing/selftests/vDSO/vgetrandom-chacha.S
index a4a82e1c28a9..10f982157a1f 100644
--- a/tools/testing/selftests/vDSO/vgetrandom-chacha.S
+++ b/tools/testing/selftests/vDSO/vgetrandom-chacha.S
@@ -16,5 +16,5 @@
#elif defined(__s390x__)
#include "../../../../arch/s390/kernel/vdso64/vgetrandom-chacha.S"
#elif defined(__x86_64__)
-#include "../../../../arch/x86/entry/vdso/vgetrandom-chacha.S"
+#include "../../../../arch/x86/entry/vdso/vdso64/vgetrandom-chacha.S"
#endif
--
2.52.0
^ permalink raw reply [flat|nested] 9+ messages in thread
* [tip: x86/entry] x86/entry/vdso/selftest: Update location of vgetrandom-chacha.S
2026-01-16 20:40 ` [PATCH v2 3/3] x86/entry/vdso, selftest: update location of vgetrandom-chacha.S H. Peter Anvin
@ 2026-01-16 21:46 ` tip-bot2 for H. Peter Anvin
0 siblings, 0 replies; 9+ messages in thread
From: tip-bot2 for H. Peter Anvin @ 2026-01-16 21:46 UTC (permalink / raw)
To: linux-tip-commits
Cc: kernel test robot, H. Peter Anvin (Intel),
Dave Hansen, x86, linux-kernel
The following commit has been merged into the x86/entry branch of tip:
Commit-ID: db7855c96d4216b2ed45e2781fae9293b323c7ef
Gitweb: https://git.kernel.org/tip/db7855c96d4216b2ed45e2781fae9293b323c7ef
Author: H. Peter Anvin <hpa@zytor.com>
AuthorDate: Fri, 16 Jan 2026 12:40:56 -08:00
Committer: Dave Hansen <dave.hansen@linux.intel.com>
CommitterDate: Fri, 16 Jan 2026 13:25:44 -08:00
x86/entry/vdso/selftest: Update location of vgetrandom-chacha.S
As part of the vdso build restructuring, vgetrandom-chacha.S moved
into the vdso/vdso64 subdirectory. Update the selftest #include to
match.
Closes: https://lore.kernel.org/oe-lkp/202601161608.5cd5af9a-lkp@intel.com
Fixes: 693c819fedcd ("x86/entry/vdso: Refactor the vdso build")
Reported-by: kernel test robot <oliver.sang@intel.com>
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Link: https://patch.msgid.link/20260116204057.386268-4-hpa@zytor.com
---
tools/testing/selftests/vDSO/vgetrandom-chacha.S | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/testing/selftests/vDSO/vgetrandom-chacha.S b/tools/testing/selftests/vDSO/vgetrandom-chacha.S
index a4a82e1..10f9821 100644
--- a/tools/testing/selftests/vDSO/vgetrandom-chacha.S
+++ b/tools/testing/selftests/vDSO/vgetrandom-chacha.S
@@ -16,5 +16,5 @@
#elif defined(__s390x__)
#include "../../../../arch/s390/kernel/vdso64/vgetrandom-chacha.S"
#elif defined(__x86_64__)
-#include "../../../../arch/x86/entry/vdso/vgetrandom-chacha.S"
+#include "../../../../arch/x86/entry/vdso/vdso64/vgetrandom-chacha.S"
#endif
^ permalink raw reply [flat|nested] 9+ messages in thread
* [tip: x86/entry] x86/entry/vdso: Fix filtering of vdso compiler flags
2026-01-16 20:40 ` [PATCH v2 2/3] x86/entry/vdso: fix filtering of vdso compiler flags H. Peter Anvin
@ 2026-01-16 21:46 ` tip-bot2 for H. Peter Anvin
2026-01-18 2:17 ` [PATCH v2 2/3] x86/entry/vdso: fix " kernel test robot
1 sibling, 0 replies; 9+ messages in thread
From: tip-bot2 for H. Peter Anvin @ 2026-01-16 21:46 UTC (permalink / raw)
To: linux-tip-commits
Cc: Chris Mason, H. Peter Anvin (Intel), Dave Hansen, x86, linux-kernel
The following commit has been merged into the x86/entry branch of tip:
Commit-ID: a48acbaf99d239e60a09a9e2b7d0f7e9feb62769
Gitweb: https://git.kernel.org/tip/a48acbaf99d239e60a09a9e2b7d0f7e9feb62769
Author: H. Peter Anvin <hpa@zytor.com>
AuthorDate: Fri, 16 Jan 2026 12:40:55 -08:00
Committer: Dave Hansen <dave.hansen@linux.intel.com>
CommitterDate: Fri, 16 Jan 2026 13:25:33 -08:00
x86/entry/vdso: Fix filtering of vdso compiler flags
This fixes several typos in the filtering of compiler flags for vdso,
discovered by Chris Mason using an AI script:
1. "-fno-PIE" was written as "fno-PIE".
2. "CC_PLUGINS_FLAGS" was written as "CC_PLUGIN_FLAGS"
To the best of my knowledge, none of these actually had any real
impact on the build at this time but they are genuine bugs which could
break things at any point in the future.
Chris's script also found that "CONFIG_X86_USER_SHADOW_STACK" was
missing "CONFIG_", but it needs a different fix.
[ dhansen: remove CONFIG_X86_USER_SHADOW_STACK munging,
add mention in changelog. ]
Closes: https://lore.kernel.org/20260116035807.2307742-1-clm@meta.com
Fixes: 693c819fedcd ("x86/entry/vdso: Refactor the vdso build")
Reported-by: Chris Mason <clm@meta.com>
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Link: https://patch.msgid.link/20260116204057.386268-3-hpa@zytor.com
---
arch/x86/entry/vdso/common/Makefile.include | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/x86/entry/vdso/common/Makefile.include b/arch/x86/entry/vdso/common/Makefile.include
index 3514b4a..687b3d8 100644
--- a/arch/x86/entry/vdso/common/Makefile.include
+++ b/arch/x86/entry/vdso/common/Makefile.include
@@ -23,9 +23,9 @@ $(obj)/%.lds : KBUILD_CPPFLAGS += $(CPPFLAGS_VDSO_LDS)
#
flags-remove-y += \
-D__KERNEL__ -mcmodel=kernel -mregparm=3 \
- -fno-pic -fno-PIC -fno-pie fno-PIE \
+ -fno-pic -fno-PIC -fno-pie -fno-PIE \
-mfentry -pg \
- $(RANDSTRUCT_CFLAGS) $(GCC_PLUGIN_CFLAGS) $(KSTACK_ERASE_CFLAGS) \
+ $(RANDSTRUCT_CFLAGS) $(GCC_PLUGINS_CFLAGS) $(KSTACK_ERASE_CFLAGS) \
$(RETPOLINE_CFLAGS) $(CC_FLAGS_LTO) $(CC_FLAGS_CFI) \
$(PADDING_CFLAGS)
^ permalink raw reply [flat|nested] 9+ messages in thread
* [tip: x86/entry] x86/entry/vdso: Update the object paths for "make vdso_install"
2026-01-16 20:40 ` [PATCH v2 1/3] x86/entry/vdso: update the object paths for "make vdso_install" H. Peter Anvin
@ 2026-01-16 21:46 ` tip-bot2 for H. Peter Anvin
0 siblings, 0 replies; 9+ messages in thread
From: tip-bot2 for H. Peter Anvin @ 2026-01-16 21:46 UTC (permalink / raw)
To: linux-tip-commits
Cc: Thorsten Leemhuis, H. Peter Anvin (Intel),
Dave Hansen, x86, linux-kernel
The following commit has been merged into the x86/entry branch of tip:
Commit-ID: b3683f3ba079940f91f4a26004250559f170eda9
Gitweb: https://git.kernel.org/tip/b3683f3ba079940f91f4a26004250559f170eda9
Author: H. Peter Anvin <hpa@zytor.com>
AuthorDate: Fri, 16 Jan 2026 12:40:54 -08:00
Committer: Dave Hansen <dave.hansen@linux.intel.com>
CommitterDate: Fri, 16 Jan 2026 12:58:45 -08:00
x86/entry/vdso: Update the object paths for "make vdso_install"
The location of the vdso binary files in the object tree has changed;
update "make vdso_install" to match.
Closes: https://lore.kernel.org/16ea64d1-2a9b-46f9-9fcc-42958f599eb6@leemhuis.info
Fixes: 693c819fedcd ("x86/entry/vdso: Refactor the vdso build")
Reported-by: Thorsten Leemhuis <linux@leemhuis.info>
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Link: https://patch.msgid.link/20260116204057.386268-2-hpa@zytor.com
---
arch/x86/Makefile | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index 9ab7522..5f88146 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -318,9 +318,9 @@ PHONY += install
install:
$(call cmd,install)
-vdso-install-$(CONFIG_X86_64) += arch/x86/entry/vdso/vdso64.so.dbg
-vdso-install-$(CONFIG_X86_X32_ABI) += arch/x86/entry/vdso/vdsox32.so.dbg
-vdso-install-$(CONFIG_COMPAT_32) += arch/x86/entry/vdso/vdso32.so.dbg
+vdso-install-$(CONFIG_X86_64) += arch/x86/entry/vdso/vdso64/vdso64.so.dbg
+vdso-install-$(CONFIG_X86_X32_ABI) += arch/x86/entry/vdso/vdso64/vdsox32.so.dbg
+vdso-install-$(CONFIG_COMPAT_32) += arch/x86/entry/vdso/vdso32/vdso32.so.dbg
archprepare: checkbin
checkbin:
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 2/3] x86/entry/vdso: fix filtering of vdso compiler flags
2026-01-16 20:40 ` [PATCH v2 2/3] x86/entry/vdso: fix filtering of vdso compiler flags H. Peter Anvin
2026-01-16 21:46 ` [tip: x86/entry] x86/entry/vdso: Fix " tip-bot2 for H. Peter Anvin
@ 2026-01-18 2:17 ` kernel test robot
2026-01-18 5:19 ` H. Peter Anvin
1 sibling, 1 reply; 9+ messages in thread
From: kernel test robot @ 2026-01-18 2:17 UTC (permalink / raw)
To: H. Peter Anvin, Thomas Gleixner, Ingo Molnar, Borislav Petkov,
Dave Hansen
Cc: oe-kbuild-all, H. Peter Anvin, x86, Chris Mason,
Thorsten Leemhuis, linux-kernel
Hi Peter,
First bad commit (maybe != root cause):
kernel test robot noticed the following build errors:
[auto build test ERROR on tip/master]
[also build test ERROR on next-20260116]
[cannot apply to tip/auto-latest linus/master v6.19-rc5]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/H-Peter-Anvin/x86-entry-vdso-update-the-object-paths-for-make-vdso_install/20260117-044522
base: tip/master
patch link: https://lore.kernel.org/r/20260116204057.386268-3-hpa%40zytor.com
patch subject: [PATCH v2 2/3] x86/entry/vdso: fix filtering of vdso compiler flags
config: x86_64-rhel-9.4-func (https://download.01.org/0day-ci/archive/20260118/202601180025.lLCHWiad-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260118/202601180025.lLCHWiad-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/r/202601180025.lLCHWiad-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from include/linux/compiler_types.h:44,
from <command-line>:
include/linux/compiler-context-analysis.h: In function '_context_unsafe_alias':
>> include/linux/compiler-context-analysis.h:237:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
237 | static inline void _context_unsafe_alias(void **p) { }
| ^~~~~~
In file included from include/linux/export.h:5,
from include/linux/linkage.h:7,
from arch/x86/include/asm/cache.h:5,
from include/vdso/cache.h:5,
from include/linux/cache.h:6,
from include/linux/time.h:5,
from arch/x86/entry/vdso/vdso64/../common/vclock_gettime.c:11,
from arch/x86/entry/vdso/vdso64/vclock_gettime.c:1:
include/linux/compiler.h: In function 'offset_to_ptr':
include/linux/compiler.h:272:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
272 | {
| ^
In file included from include/asm-generic/rwonce.h:26,
from ./arch/x86/include/generated/asm/rwonce.h:1,
from include/linux/compiler.h:382:
include/linux/kasan-checks.h: In function 'kasan_check_read':
include/linux/kasan-checks.h:41:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
41 | {
| ^
include/linux/kasan-checks.h: In function 'kasan_check_write':
include/linux/kasan-checks.h:45:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
45 | {
| ^
In file included from include/asm-generic/rwonce.h:27:
include/linux/kcsan-checks.h: In function '__kcsan_check_access':
include/linux/kcsan-checks.h:190:41: error: '-mindirect-branch' and '-fcf-protection' are not compatible
190 | int type) { }
| ^~~
include/linux/kcsan-checks.h: In function '__kcsan_mb':
include/linux/kcsan-checks.h:192:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
192 | static inline void __kcsan_mb(void) { }
| ^~~~~~
include/linux/kcsan-checks.h: In function '__kcsan_wmb':
include/linux/kcsan-checks.h:193:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
193 | static inline void __kcsan_wmb(void) { }
| ^~~~~~
include/linux/kcsan-checks.h: In function '__kcsan_rmb':
include/linux/kcsan-checks.h:194:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
194 | static inline void __kcsan_rmb(void) { }
| ^~~~~~
include/linux/kcsan-checks.h: In function '__kcsan_release':
include/linux/kcsan-checks.h:195:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
195 | static inline void __kcsan_release(void) { }
| ^~~~~~
include/linux/kcsan-checks.h: In function 'kcsan_disable_current':
include/linux/kcsan-checks.h:196:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
196 | static inline void kcsan_disable_current(void) { }
| ^~~~~~
include/linux/kcsan-checks.h: In function 'kcsan_enable_current':
include/linux/kcsan-checks.h:197:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
197 | static inline void kcsan_enable_current(void) { }
| ^~~~~~
include/linux/kcsan-checks.h: In function 'kcsan_enable_current_nowarn':
include/linux/kcsan-checks.h:198:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
198 | static inline void kcsan_enable_current_nowarn(void) { }
| ^~~~~~
include/linux/kcsan-checks.h: In function 'kcsan_nestable_atomic_begin':
include/linux/kcsan-checks.h:199:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
199 | static inline void kcsan_nestable_atomic_begin(void) { }
| ^~~~~~
include/linux/kcsan-checks.h: In function 'kcsan_nestable_atomic_end':
include/linux/kcsan-checks.h:200:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
200 | static inline void kcsan_nestable_atomic_end(void) { }
| ^~~~~~
include/linux/kcsan-checks.h: In function 'kcsan_flat_atomic_begin':
include/linux/kcsan-checks.h:201:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
201 | static inline void kcsan_flat_atomic_begin(void) { }
| ^~~~~~
include/linux/kcsan-checks.h: In function 'kcsan_flat_atomic_end':
include/linux/kcsan-checks.h:202:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
202 | static inline void kcsan_flat_atomic_end(void) { }
| ^~~~~~
include/linux/kcsan-checks.h: In function 'kcsan_atomic_next':
include/linux/kcsan-checks.h:203:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
203 | static inline void kcsan_atomic_next(int n) { }
| ^~~~~~
include/linux/kcsan-checks.h: In function 'kcsan_set_access_mask':
include/linux/kcsan-checks.h:204:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
204 | static inline void kcsan_set_access_mask(unsigned long mask) { }
| ^~~~~~
include/linux/kcsan-checks.h: In function 'kcsan_begin_scoped_access':
include/linux/kcsan-checks.h:210:34: error: '-mindirect-branch' and '-fcf-protection' are not compatible
210 | struct kcsan_scoped_access *sa) { return sa; }
| ^~~~~~~~~~~~~~~~~~~
include/linux/kcsan-checks.h: In function 'kcsan_end_scoped_access':
include/linux/kcsan-checks.h:211:51: error: '-mindirect-branch' and '-fcf-protection' are not compatible
211 | static inline void kcsan_end_scoped_access(struct kcsan_scoped_access *sa) { }
| ^~~~~~~~~~~~~~~~~~~
include/linux/kcsan-checks.h: In function 'kcsan_check_access':
include/linux/kcsan-checks.h:230:39: error: '-mindirect-branch' and '-fcf-protection' are not compatible
230 | int type) { }
| ^~~
include/linux/kcsan-checks.h: In function '__kcsan_enable_current':
include/linux/kcsan-checks.h:231:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
231 | static inline void __kcsan_enable_current(void) { }
| ^~~~~~
include/linux/kcsan-checks.h: In function '__kcsan_disable_current':
include/linux/kcsan-checks.h:232:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
--
include/linux/find.h: In function 'find_first_bit':
include/linux/find.h:207:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
207 | {
| ^
include/linux/find.h: In function 'find_nth_bit':
include/linux/find.h:233:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
233 | {
| ^
include/linux/find.h: In function 'find_nth_and_bit':
include/linux/find.h:259:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
259 | {
| ^
include/linux/find.h: In function 'find_nth_and_andnot_bit':
include/linux/find.h:289:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
289 | {
| ^
include/linux/find.h: In function 'find_first_and_bit':
include/linux/find.h:316:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
316 | {
| ^
include/linux/find.h: In function 'find_first_andnot_bit':
include/linux/find.h:340:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
340 | {
| ^
include/linux/find.h: In function 'find_first_and_and_bit':
include/linux/find.h:365:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
365 | {
| ^
include/linux/find.h: In function 'find_first_zero_bit':
include/linux/find.h:386:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
386 | {
| ^
include/linux/find.h: In function 'find_last_bit':
include/linux/find.h:407:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
407 | {
| ^
include/linux/find.h: In function 'find_next_and_bit_wrap':
include/linux/find.h:432:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
432 | {
| ^
include/linux/find.h: In function 'find_next_bit_wrap':
include/linux/find.h:454:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
454 | {
| ^
include/linux/find.h: In function '__for_each_wrap':
include/linux/find.h:471:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
471 | {
| ^
include/linux/find.h: In function 'find_next_zero_bit_le':
include/linux/find.h:511:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
511 | {
| ^
include/linux/find.h: In function 'find_next_bit_le':
include/linux/find.h:517:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
517 | {
| ^
include/linux/find.h: In function 'find_first_zero_bit_le':
include/linux/find.h:523:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
523 | {
| ^
In file included from include/linux/bitmap.h:13:
include/linux/string.h: In function 'memdup_array_user':
include/linux/string.h:33:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
33 | {
| ^
include/linux/string.h: In function 'vmemdup_array_user':
include/linux/string.h:53:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
53 | {
| ^
include/linux/string.h: In function 'strstrip':
include/linux/string.h:190:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
190 | {
| ^
include/linux/string.h: In function 'memset_l':
include/linux/string.h:237:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
237 | {
| ^
include/linux/string.h: In function 'memset_p':
include/linux/string.h:245:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
245 | {
| ^
include/linux/string.h: In function 'mem_is_zero':
include/linux/string.h:295:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
295 | {
| ^
include/linux/string.h: In function '__free_argv_free':
include/linux/string.h:316:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
316 | DEFINE_FREE(argv_free, char **, if (!IS_ERR_OR_NULL(_T)) argv_free(_T))
| ^~~~~~~~~~~
include/linux/string.h: In function 'memzero_explicit':
include/linux/string.h:365:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
365 | {
| ^
include/linux/string.h: In function 'kbasename':
include/linux/string.h:380:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
380 | {
| ^
In file included from include/linux/fortify-string.h:5,
from include/linux/string.h:386:
include/linux/bitfield.h: In function 'field_multiplier':
>> include/linux/bitfield.h:202:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
202 | {
| ^
include/linux/bitfield.h: In function 'field_mask':
include/linux/bitfield.h:208:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
208 | {
| ^
include/linux/bitfield.h: In function 'u8_encode_bits':
include/linux/bitfield.h:237:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
237 | ____MAKE_OP(u8,u8,,)
| ^~~~~~~~~~~
include/linux/bitfield.h: In function 'u8_replace_bits':
include/linux/bitfield.h:237:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
include/linux/bitfield.h: In function 'u8p_replace_bits':
include/linux/bitfield.h:237:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
include/linux/bitfield.h: In function 'u8_get_bits':
include/linux/bitfield.h:237:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
include/linux/bitfield.h: In function 'le16_encode_bits':
include/linux/bitfield.h:238:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
238 | __MAKE_OP(16)
| ^~~~~~~~~
include/linux/bitfield.h: In function 'le16_replace_bits':
include/linux/bitfield.h:238:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
include/linux/bitfield.h: In function 'le16p_replace_bits':
include/linux/bitfield.h:238:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
include/linux/bitfield.h: In function 'le16_get_bits':
include/linux/bitfield.h:238:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
include/linux/bitfield.h: In function 'be16_encode_bits':
include/linux/bitfield.h:238:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
include/linux/bitfield.h: In function 'be16_replace_bits':
include/linux/bitfield.h:238:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
include/linux/bitfield.h: In function 'be16p_replace_bits':
include/linux/bitfield.h:238:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
include/linux/bitfield.h: In function 'be16_get_bits':
include/linux/bitfield.h:238:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
include/linux/bitfield.h: In function 'u16_encode_bits':
include/linux/bitfield.h:238:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
include/linux/bitfield.h: In function 'u16_replace_bits':
include/linux/bitfield.h:238:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
include/linux/bitfield.h: In function 'u16p_replace_bits':
include/linux/bitfield.h:238:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
include/linux/bitfield.h: In function 'u16_get_bits':
include/linux/bitfield.h:238:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
include/linux/bitfield.h: In function 'le32_encode_bits':
include/linux/bitfield.h:239:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
239 | __MAKE_OP(32)
| ^~~~~~~~~
include/linux/bitfield.h: In function 'le32_replace_bits':
include/linux/bitfield.h:239:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
include/linux/bitfield.h: In function 'le32p_replace_bits':
include/linux/bitfield.h:239:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
include/linux/bitfield.h: In function 'le32_get_bits':
include/linux/bitfield.h:239:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
include/linux/bitfield.h: In function 'be32_encode_bits':
include/linux/bitfield.h:239:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
include/linux/bitfield.h: In function 'be32_replace_bits':
include/linux/bitfield.h:239:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
include/linux/bitfield.h: In function 'be32p_replace_bits':
include/linux/bitfield.h:239:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
include/linux/bitfield.h: In function 'be32_get_bits':
include/linux/bitfield.h:239:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
include/linux/bitfield.h: In function 'u32_encode_bits':
include/linux/bitfield.h:239:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
include/linux/bitfield.h: In function 'u32_replace_bits':
include/linux/bitfield.h:239:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
include/linux/bitfield.h: In function 'u32p_replace_bits':
include/linux/bitfield.h:239:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
include/linux/bitfield.h: In function 'u32_get_bits':
include/linux/bitfield.h:239:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
include/linux/bitfield.h: In function 'le64_encode_bits':
include/linux/bitfield.h:240:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
240 | __MAKE_OP(64)
| ^~~~~~~~~
include/linux/bitfield.h: In function 'le64_replace_bits':
include/linux/bitfield.h:240:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
include/linux/bitfield.h: In function 'le64p_replace_bits':
include/linux/bitfield.h:240:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
include/linux/bitfield.h: In function 'le64_get_bits':
include/linux/bitfield.h:240:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
include/linux/bitfield.h: In function 'be64_encode_bits':
include/linux/bitfield.h:240:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
include/linux/bitfield.h: In function 'be64_replace_bits':
include/linux/bitfield.h:240:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
include/linux/bitfield.h: In function 'be64p_replace_bits':
include/linux/bitfield.h:240:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
include/linux/bitfield.h: In function 'be64_get_bits':
include/linux/bitfield.h:240:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
include/linux/bitfield.h: In function 'u64_encode_bits':
include/linux/bitfield.h:240:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
include/linux/bitfield.h: In function 'u64_replace_bits':
include/linux/bitfield.h:240:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
include/linux/bitfield.h: In function 'u64p_replace_bits':
include/linux/bitfield.h:240:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
include/linux/bitfield.h: In function 'u64_get_bits':
include/linux/bitfield.h:240:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
include/linux/fortify-string.h: In function 'strncpy':
include/linux/fortify-string.h:198:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
198 | {
| ^
include/linux/fortify-string.h: In function 'strnlen':
include/linux/fortify-string.h:220:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
..
vim +237 include/linux/compiler-context-analysis.h
3269701cb25662 Marco Elver 2025-12-19 221
3269701cb25662 Marco Elver 2025-12-19 222 /**
3269701cb25662 Marco Elver 2025-12-19 223 * context_unsafe_alias() - helper to insert a context lock "alias barrier"
3269701cb25662 Marco Elver 2025-12-19 224 * @p: pointer aliasing a context lock or object containing context locks
3269701cb25662 Marco Elver 2025-12-19 225 *
3269701cb25662 Marco Elver 2025-12-19 226 * No-op function that acts as a "context lock alias barrier", where the
3269701cb25662 Marco Elver 2025-12-19 227 * analysis rightfully detects that we're switching aliases, but the switch is
3269701cb25662 Marco Elver 2025-12-19 228 * considered safe but beyond the analysis reasoning abilities.
3269701cb25662 Marco Elver 2025-12-19 229 *
3269701cb25662 Marco Elver 2025-12-19 230 * This should be inserted before the first use of such an alias.
3269701cb25662 Marco Elver 2025-12-19 231 *
3269701cb25662 Marco Elver 2025-12-19 232 * Implementation Note: The compiler ignores aliases that may be reassigned but
3269701cb25662 Marco Elver 2025-12-19 233 * their value cannot be determined (e.g. when passing a non-const pointer to an
3269701cb25662 Marco Elver 2025-12-19 234 * alias as a function argument).
3269701cb25662 Marco Elver 2025-12-19 235 */
3269701cb25662 Marco Elver 2025-12-19 236 #define context_unsafe_alias(p) _context_unsafe_alias((void **)&(p))
3269701cb25662 Marco Elver 2025-12-19 @237 static inline void _context_unsafe_alias(void **p) { }
3269701cb25662 Marco Elver 2025-12-19 238
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 2/3] x86/entry/vdso: fix filtering of vdso compiler flags
2026-01-18 2:17 ` [PATCH v2 2/3] x86/entry/vdso: fix " kernel test robot
@ 2026-01-18 5:19 ` H. Peter Anvin
0 siblings, 0 replies; 9+ messages in thread
From: H. Peter Anvin @ 2026-01-18 5:19 UTC (permalink / raw)
To: kernel test robot, Thomas Gleixner, Ingo Molnar, Borislav Petkov,
Dave Hansen
Cc: oe-kbuild-all, x86, Chris Mason, Thorsten Leemhuis, linux-kernel
On January 17, 2026 6:17:20 PM PST, kernel test robot <lkp@intel.com> wrote:
>Hi Peter,
>
>First bad commit (maybe != root cause):
>
>kernel test robot noticed the following build errors:
>
>[auto build test ERROR on tip/master]
>[also build test ERROR on next-20260116]
>[cannot apply to tip/auto-latest linus/master v6.19-rc5]
>[If your patch is applied to the wrong git tree, kindly drop us a note.
>And when submitting patch, we suggest to use '--base' as documented in
>https://git-scm.com/docs/git-format-patch#_base_tree_information]
>
>url: https://github.com/intel-lab-lkp/linux/commits/H-Peter-Anvin/x86-entry-vdso-update-the-object-paths-for-make-vdso_install/20260117-044522
>base: tip/master
>patch link: https://lore.kernel.org/r/20260116204057.386268-3-hpa%40zytor.com
>patch subject: [PATCH v2 2/3] x86/entry/vdso: fix filtering of vdso compiler flags
>config: x86_64-rhel-9.4-func (https://download.01.org/0day-ci/archive/20260118/202601180025.lLCHWiad-lkp@intel.com/config)
>compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
>reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260118/202601180025.lLCHWiad-lkp@intel.com/reproduce)
>
>If you fix the issue in a separate patch/commit (i.e. not just a new version of
>the same patch/commit), kindly add following tags
>| Reported-by: kernel test robot <lkp@intel.com>
>| Closes: https://lore.kernel.org/r/202601180025.lLCHWiad-lkp@intel.com/
>
>All errors (new ones prefixed by >>):
>
> In file included from include/linux/compiler_types.h:44,
> from <command-line>:
> include/linux/compiler-context-analysis.h: In function '_context_unsafe_alias':
>>> include/linux/compiler-context-analysis.h:237:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 237 | static inline void _context_unsafe_alias(void **p) { }
> | ^~~~~~
> In file included from include/linux/export.h:5,
> from include/linux/linkage.h:7,
> from arch/x86/include/asm/cache.h:5,
> from include/vdso/cache.h:5,
> from include/linux/cache.h:6,
> from include/linux/time.h:5,
> from arch/x86/entry/vdso/vdso64/../common/vclock_gettime.c:11,
> from arch/x86/entry/vdso/vdso64/vclock_gettime.c:1:
> include/linux/compiler.h: In function 'offset_to_ptr':
> include/linux/compiler.h:272:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 272 | {
> | ^
> In file included from include/asm-generic/rwonce.h:26,
> from ./arch/x86/include/generated/asm/rwonce.h:1,
> from include/linux/compiler.h:382:
> include/linux/kasan-checks.h: In function 'kasan_check_read':
> include/linux/kasan-checks.h:41:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 41 | {
> | ^
> include/linux/kasan-checks.h: In function 'kasan_check_write':
> include/linux/kasan-checks.h:45:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 45 | {
> | ^
> In file included from include/asm-generic/rwonce.h:27:
> include/linux/kcsan-checks.h: In function '__kcsan_check_access':
> include/linux/kcsan-checks.h:190:41: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 190 | int type) { }
> | ^~~
> include/linux/kcsan-checks.h: In function '__kcsan_mb':
> include/linux/kcsan-checks.h:192:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 192 | static inline void __kcsan_mb(void) { }
> | ^~~~~~
> include/linux/kcsan-checks.h: In function '__kcsan_wmb':
> include/linux/kcsan-checks.h:193:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 193 | static inline void __kcsan_wmb(void) { }
> | ^~~~~~
> include/linux/kcsan-checks.h: In function '__kcsan_rmb':
> include/linux/kcsan-checks.h:194:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 194 | static inline void __kcsan_rmb(void) { }
> | ^~~~~~
> include/linux/kcsan-checks.h: In function '__kcsan_release':
> include/linux/kcsan-checks.h:195:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 195 | static inline void __kcsan_release(void) { }
> | ^~~~~~
> include/linux/kcsan-checks.h: In function 'kcsan_disable_current':
> include/linux/kcsan-checks.h:196:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 196 | static inline void kcsan_disable_current(void) { }
> | ^~~~~~
> include/linux/kcsan-checks.h: In function 'kcsan_enable_current':
> include/linux/kcsan-checks.h:197:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 197 | static inline void kcsan_enable_current(void) { }
> | ^~~~~~
> include/linux/kcsan-checks.h: In function 'kcsan_enable_current_nowarn':
> include/linux/kcsan-checks.h:198:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 198 | static inline void kcsan_enable_current_nowarn(void) { }
> | ^~~~~~
> include/linux/kcsan-checks.h: In function 'kcsan_nestable_atomic_begin':
> include/linux/kcsan-checks.h:199:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 199 | static inline void kcsan_nestable_atomic_begin(void) { }
> | ^~~~~~
> include/linux/kcsan-checks.h: In function 'kcsan_nestable_atomic_end':
> include/linux/kcsan-checks.h:200:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 200 | static inline void kcsan_nestable_atomic_end(void) { }
> | ^~~~~~
> include/linux/kcsan-checks.h: In function 'kcsan_flat_atomic_begin':
> include/linux/kcsan-checks.h:201:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 201 | static inline void kcsan_flat_atomic_begin(void) { }
> | ^~~~~~
> include/linux/kcsan-checks.h: In function 'kcsan_flat_atomic_end':
> include/linux/kcsan-checks.h:202:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 202 | static inline void kcsan_flat_atomic_end(void) { }
> | ^~~~~~
> include/linux/kcsan-checks.h: In function 'kcsan_atomic_next':
> include/linux/kcsan-checks.h:203:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 203 | static inline void kcsan_atomic_next(int n) { }
> | ^~~~~~
> include/linux/kcsan-checks.h: In function 'kcsan_set_access_mask':
> include/linux/kcsan-checks.h:204:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 204 | static inline void kcsan_set_access_mask(unsigned long mask) { }
> | ^~~~~~
> include/linux/kcsan-checks.h: In function 'kcsan_begin_scoped_access':
> include/linux/kcsan-checks.h:210:34: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 210 | struct kcsan_scoped_access *sa) { return sa; }
> | ^~~~~~~~~~~~~~~~~~~
> include/linux/kcsan-checks.h: In function 'kcsan_end_scoped_access':
> include/linux/kcsan-checks.h:211:51: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 211 | static inline void kcsan_end_scoped_access(struct kcsan_scoped_access *sa) { }
> | ^~~~~~~~~~~~~~~~~~~
> include/linux/kcsan-checks.h: In function 'kcsan_check_access':
> include/linux/kcsan-checks.h:230:39: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 230 | int type) { }
> | ^~~
> include/linux/kcsan-checks.h: In function '__kcsan_enable_current':
> include/linux/kcsan-checks.h:231:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 231 | static inline void __kcsan_enable_current(void) { }
> | ^~~~~~
> include/linux/kcsan-checks.h: In function '__kcsan_disable_current':
> include/linux/kcsan-checks.h:232:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
>--
> include/linux/find.h: In function 'find_first_bit':
> include/linux/find.h:207:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 207 | {
> | ^
> include/linux/find.h: In function 'find_nth_bit':
> include/linux/find.h:233:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 233 | {
> | ^
> include/linux/find.h: In function 'find_nth_and_bit':
> include/linux/find.h:259:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 259 | {
> | ^
> include/linux/find.h: In function 'find_nth_and_andnot_bit':
> include/linux/find.h:289:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 289 | {
> | ^
> include/linux/find.h: In function 'find_first_and_bit':
> include/linux/find.h:316:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 316 | {
> | ^
> include/linux/find.h: In function 'find_first_andnot_bit':
> include/linux/find.h:340:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 340 | {
> | ^
> include/linux/find.h: In function 'find_first_and_and_bit':
> include/linux/find.h:365:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 365 | {
> | ^
> include/linux/find.h: In function 'find_first_zero_bit':
> include/linux/find.h:386:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 386 | {
> | ^
> include/linux/find.h: In function 'find_last_bit':
> include/linux/find.h:407:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 407 | {
> | ^
> include/linux/find.h: In function 'find_next_and_bit_wrap':
> include/linux/find.h:432:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 432 | {
> | ^
> include/linux/find.h: In function 'find_next_bit_wrap':
> include/linux/find.h:454:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 454 | {
> | ^
> include/linux/find.h: In function '__for_each_wrap':
> include/linux/find.h:471:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 471 | {
> | ^
> include/linux/find.h: In function 'find_next_zero_bit_le':
> include/linux/find.h:511:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 511 | {
> | ^
> include/linux/find.h: In function 'find_next_bit_le':
> include/linux/find.h:517:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 517 | {
> | ^
> include/linux/find.h: In function 'find_first_zero_bit_le':
> include/linux/find.h:523:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 523 | {
> | ^
> In file included from include/linux/bitmap.h:13:
> include/linux/string.h: In function 'memdup_array_user':
> include/linux/string.h:33:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 33 | {
> | ^
> include/linux/string.h: In function 'vmemdup_array_user':
> include/linux/string.h:53:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 53 | {
> | ^
> include/linux/string.h: In function 'strstrip':
> include/linux/string.h:190:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 190 | {
> | ^
> include/linux/string.h: In function 'memset_l':
> include/linux/string.h:237:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 237 | {
> | ^
> include/linux/string.h: In function 'memset_p':
> include/linux/string.h:245:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 245 | {
> | ^
> include/linux/string.h: In function 'mem_is_zero':
> include/linux/string.h:295:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 295 | {
> | ^
> include/linux/string.h: In function '__free_argv_free':
> include/linux/string.h:316:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 316 | DEFINE_FREE(argv_free, char **, if (!IS_ERR_OR_NULL(_T)) argv_free(_T))
> | ^~~~~~~~~~~
> include/linux/string.h: In function 'memzero_explicit':
> include/linux/string.h:365:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 365 | {
> | ^
> include/linux/string.h: In function 'kbasename':
> include/linux/string.h:380:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 380 | {
> | ^
> In file included from include/linux/fortify-string.h:5,
> from include/linux/string.h:386:
> include/linux/bitfield.h: In function 'field_multiplier':
>>> include/linux/bitfield.h:202:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 202 | {
> | ^
> include/linux/bitfield.h: In function 'field_mask':
> include/linux/bitfield.h:208:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 208 | {
> | ^
> include/linux/bitfield.h: In function 'u8_encode_bits':
> include/linux/bitfield.h:237:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 237 | ____MAKE_OP(u8,u8,,)
> | ^~~~~~~~~~~
> include/linux/bitfield.h: In function 'u8_replace_bits':
> include/linux/bitfield.h:237:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> include/linux/bitfield.h: In function 'u8p_replace_bits':
> include/linux/bitfield.h:237:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> include/linux/bitfield.h: In function 'u8_get_bits':
> include/linux/bitfield.h:237:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> include/linux/bitfield.h: In function 'le16_encode_bits':
> include/linux/bitfield.h:238:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 238 | __MAKE_OP(16)
> | ^~~~~~~~~
> include/linux/bitfield.h: In function 'le16_replace_bits':
> include/linux/bitfield.h:238:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> include/linux/bitfield.h: In function 'le16p_replace_bits':
> include/linux/bitfield.h:238:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> include/linux/bitfield.h: In function 'le16_get_bits':
> include/linux/bitfield.h:238:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> include/linux/bitfield.h: In function 'be16_encode_bits':
> include/linux/bitfield.h:238:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> include/linux/bitfield.h: In function 'be16_replace_bits':
> include/linux/bitfield.h:238:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> include/linux/bitfield.h: In function 'be16p_replace_bits':
> include/linux/bitfield.h:238:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> include/linux/bitfield.h: In function 'be16_get_bits':
> include/linux/bitfield.h:238:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> include/linux/bitfield.h: In function 'u16_encode_bits':
> include/linux/bitfield.h:238:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> include/linux/bitfield.h: In function 'u16_replace_bits':
> include/linux/bitfield.h:238:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> include/linux/bitfield.h: In function 'u16p_replace_bits':
> include/linux/bitfield.h:238:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> include/linux/bitfield.h: In function 'u16_get_bits':
> include/linux/bitfield.h:238:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> include/linux/bitfield.h: In function 'le32_encode_bits':
> include/linux/bitfield.h:239:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 239 | __MAKE_OP(32)
> | ^~~~~~~~~
> include/linux/bitfield.h: In function 'le32_replace_bits':
> include/linux/bitfield.h:239:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> include/linux/bitfield.h: In function 'le32p_replace_bits':
> include/linux/bitfield.h:239:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> include/linux/bitfield.h: In function 'le32_get_bits':
> include/linux/bitfield.h:239:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> include/linux/bitfield.h: In function 'be32_encode_bits':
> include/linux/bitfield.h:239:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> include/linux/bitfield.h: In function 'be32_replace_bits':
> include/linux/bitfield.h:239:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> include/linux/bitfield.h: In function 'be32p_replace_bits':
> include/linux/bitfield.h:239:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> include/linux/bitfield.h: In function 'be32_get_bits':
> include/linux/bitfield.h:239:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> include/linux/bitfield.h: In function 'u32_encode_bits':
> include/linux/bitfield.h:239:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> include/linux/bitfield.h: In function 'u32_replace_bits':
> include/linux/bitfield.h:239:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> include/linux/bitfield.h: In function 'u32p_replace_bits':
> include/linux/bitfield.h:239:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> include/linux/bitfield.h: In function 'u32_get_bits':
> include/linux/bitfield.h:239:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> include/linux/bitfield.h: In function 'le64_encode_bits':
> include/linux/bitfield.h:240:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 240 | __MAKE_OP(64)
> | ^~~~~~~~~
> include/linux/bitfield.h: In function 'le64_replace_bits':
> include/linux/bitfield.h:240:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> include/linux/bitfield.h: In function 'le64p_replace_bits':
> include/linux/bitfield.h:240:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> include/linux/bitfield.h: In function 'le64_get_bits':
> include/linux/bitfield.h:240:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> include/linux/bitfield.h: In function 'be64_encode_bits':
> include/linux/bitfield.h:240:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> include/linux/bitfield.h: In function 'be64_replace_bits':
> include/linux/bitfield.h:240:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> include/linux/bitfield.h: In function 'be64p_replace_bits':
> include/linux/bitfield.h:240:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> include/linux/bitfield.h: In function 'be64_get_bits':
> include/linux/bitfield.h:240:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> include/linux/bitfield.h: In function 'u64_encode_bits':
> include/linux/bitfield.h:240:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> include/linux/bitfield.h: In function 'u64_replace_bits':
> include/linux/bitfield.h:240:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> include/linux/bitfield.h: In function 'u64p_replace_bits':
> include/linux/bitfield.h:240:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> include/linux/bitfield.h: In function 'u64_get_bits':
> include/linux/bitfield.h:240:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> include/linux/fortify-string.h: In function 'strncpy':
> include/linux/fortify-string.h:198:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
> 198 | {
> | ^
> include/linux/fortify-string.h: In function 'strnlen':
> include/linux/fortify-string.h:220:1: error: '-mindirect-branch' and '-fcf-protection' are not compatible
>..
>
>
>vim +237 include/linux/compiler-context-analysis.h
>
>3269701cb25662 Marco Elver 2025-12-19 221
>3269701cb25662 Marco Elver 2025-12-19 222 /**
>3269701cb25662 Marco Elver 2025-12-19 223 * context_unsafe_alias() - helper to insert a context lock "alias barrier"
>3269701cb25662 Marco Elver 2025-12-19 224 * @p: pointer aliasing a context lock or object containing context locks
>3269701cb25662 Marco Elver 2025-12-19 225 *
>3269701cb25662 Marco Elver 2025-12-19 226 * No-op function that acts as a "context lock alias barrier", where the
>3269701cb25662 Marco Elver 2025-12-19 227 * analysis rightfully detects that we're switching aliases, but the switch is
>3269701cb25662 Marco Elver 2025-12-19 228 * considered safe but beyond the analysis reasoning abilities.
>3269701cb25662 Marco Elver 2025-12-19 229 *
>3269701cb25662 Marco Elver 2025-12-19 230 * This should be inserted before the first use of such an alias.
>3269701cb25662 Marco Elver 2025-12-19 231 *
>3269701cb25662 Marco Elver 2025-12-19 232 * Implementation Note: The compiler ignores aliases that may be reassigned but
>3269701cb25662 Marco Elver 2025-12-19 233 * their value cannot be determined (e.g. when passing a non-const pointer to an
>3269701cb25662 Marco Elver 2025-12-19 234 * alias as a function argument).
>3269701cb25662 Marco Elver 2025-12-19 235 */
>3269701cb25662 Marco Elver 2025-12-19 236 #define context_unsafe_alias(p) _context_unsafe_alias((void **)&(p))
>3269701cb25662 Marco Elver 2025-12-19 @237 static inline void _context_unsafe_alias(void **p) { }
>3269701cb25662 Marco Elver 2025-12-19 238
>
For the record: already fixed.
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2026-01-18 5:20 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-01-16 20:40 [PATCH v2 0/3] tip:x86/entry: fix vdso build restructuring fallout H. Peter Anvin
2026-01-16 20:40 ` [PATCH v2 1/3] x86/entry/vdso: update the object paths for "make vdso_install" H. Peter Anvin
2026-01-16 21:46 ` [tip: x86/entry] x86/entry/vdso: Update " tip-bot2 for H. Peter Anvin
2026-01-16 20:40 ` [PATCH v2 2/3] x86/entry/vdso: fix filtering of vdso compiler flags H. Peter Anvin
2026-01-16 21:46 ` [tip: x86/entry] x86/entry/vdso: Fix " tip-bot2 for H. Peter Anvin
2026-01-18 2:17 ` [PATCH v2 2/3] x86/entry/vdso: fix " kernel test robot
2026-01-18 5:19 ` H. Peter Anvin
2026-01-16 20:40 ` [PATCH v2 3/3] x86/entry/vdso, selftest: update location of vgetrandom-chacha.S H. Peter Anvin
2026-01-16 21:46 ` [tip: x86/entry] x86/entry/vdso/selftest: Update " tip-bot2 for H. Peter Anvin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®