Skip to content

Commit b94d45b

Browse files
author
Peter Zijlstra
committed
seqlock: Allow KASAN to fail optimizing
Some KASAN builds are failing to properly optimize this code -- luckily we don't care about core quality for KASAN builds, so just exclude it. Reported-by: kernel test robot <lkp@intel.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Closes: https://lore.kernel.org/oe-kbuild-all/202510251641.idrNXhv5-lkp@intel.com/
1 parent 37d0472 commit b94d45b

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

include/linux/seqlock.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1234,11 +1234,14 @@ static inline void __scoped_seqlock_cleanup(struct ss_tmp *sst)
12341234

12351235
extern void __scoped_seqlock_invalid_target(void);
12361236

1237-
#if defined(CONFIG_CC_IS_GCC) && CONFIG_GCC_VERSION < 90000
1237+
#if (defined(CONFIG_CC_IS_GCC) && CONFIG_GCC_VERSION < 90000) || defined(CONFIG_KASAN)
12381238
/*
12391239
* For some reason some GCC-8 architectures (nios2, alpha) have trouble
12401240
* determining that the ss_done state is impossible in __scoped_seqlock_next()
12411241
* below.
1242+
*
1243+
* Similarly KASAN is known to confuse compilers enough to break this. But we
1244+
* don't care about code quality for KASAN builds anyway.
12421245
*/
12431246
static inline void __scoped_seqlock_bug(void) { }
12441247
#else

0 commit comments

Comments
 (0)