Subject: Re: lockup and kernel panic in linux-next-202505{09,12} when compiled with clang

From: Bert Karwatzki <[email-masked]>
Date: Tue, 13 May 2025 12:19:11 +0200

> 
> I'll now start a bisection where I revert 76a853f86c97 where possible in
> order to find the remaining bugs.
>

This bisect is under way
git bisect start
# Status: warte auf guten und schlechten Commit
# bad: [edef457004774e598fc4c1b7d1d4f0bcd9d0bb30] Add linux-next specific files for 20250512
git bisect bad edef457004774e598fc4c1b7d1d4f0bcd9d0bb30
# Status: warte auf gute(n) Commit(s), schlechter Commit bekannt
# good: [82f2b0b97b36ee3fcddf0f0780a9a0825d52fec3] Linux 6.15-rc6
git bisect good 82f2b0b97b36ee3fcddf0f0780a9a0825d52fec3
# good: [359e9e09fd7696427625f6c0d8b7f64f408fe8c5] Merge branch 'spi-nor/next' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git
git bisect good 359e9e09fd7696427625f6c0d8b7f64f408fe8c5
# good: [fbbd1ba0e9a92ba0d28414c752689a1fe7c45572] Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt.git
git bisect good fbbd1ba0e9a92ba0d28414c752689a1fe7c45572
# bad: [88ab40966878885e1fa546dbdcf4953874def09f] Merge branch 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git
git bisect bad 88ab40966878885e1fa546dbdcf4953874def09f
# bad: [1d31dc07d285413b70b8dddb479a99f7dd9022c0] Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git
git bisect bad 1d31dc07d285413b70b8dddb479a99f7dd9022c0
# bad: [6e716555ccbf8a4b5e0fd3441fd7f13415248ed2] Merge branch into tip/master: 'irq/core'
git bisect bad 6e716555ccbf8a4b5e0fd3441fd7f13415248ed2
# good: [37084fbae2154f3d7674c98d33553e8997b19fda] Merge branch 'x86/boot' into x86/merge, to ease integration testing
git bisect good 37084fbae2154f3d7674c98d33553e8997b19fda
# good: [11d6189057fa754ac7d2132ca0d24b87595b36e4] Merge branch into tip/master: 'core/entry'
git bisect good 11d6189057fa754ac7d2132ca0d24b87595b36e4

but I get a compile error at commit 
aefc11550ebd ("genirq: Remove unused remove_percpu_irq()")

kernel/irq/manage.c:2565:3: error: cannot jump from this goto statement to its label
 2565 |                 goto err_irq_setup;
      |                 ^
kernel/irq/manage.c:2567:2: note: jump bypasses initialization of variable with __attribute__((cleanup))
 2567 |         guard(raw_spinlock_irqsave)(&desc->lock);
      |         ^
./include/linux/cleanup.h:319:15: note: expanded from macro 'guard'
  319 |         CLASS(_name, __UNIQUE_ID(guard))
      |                      ^
./include/linux/compiler.h:166:29: note: expanded from macro '__UNIQUE_ID'
  166 | #define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
      |                             ^
././include/linux/compiler_types.h:84:22: note: expanded from macro '__PASTE'
   84 | #define __PASTE(a,b) ___PASTE(a,b)
      |                      ^
././include/linux/compiler_types.h:83:23: note: expanded from macro '___PASTE'
   83 | #define ___PASTE(a,b) a##b
      |                       ^
<scratch space>:35:1: note: expanded from here
   35 | __UNIQUE_ID_guard578
      | ^
kernel/irq/manage.c:2561:3: error: cannot jump from this goto statement to its label
 2561 |                 goto err_out;
      |                 ^
kernel/irq/manage.c:2567:2: note: jump bypasses initialization of variable with __attribute__((cleanup))
 2567 |         guard(raw_spinlock_irqsave)(&desc->lock);
      |         ^
./include/linux/cleanup.h:319:15: note: expanded from macro 'guard'
  319 |         CLASS(_name, __UNIQUE_ID(guard))
      |                      ^
./include/linux/compiler.h:166:29: note: expanded from macro '__UNIQUE_ID'
  166 | #define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
      |                             ^
././include/linux/compiler_types.h:84:22:  CC      kernel/seccomp.o
 note: expanded from macro '__PASTE'
   84 | #define __PASTE(a,b) ___PASTE(a,b)
      |                      ^
././include/linux/compiler_types.h:83:23: note: expanded from macro '___PASTE'
   83 | #define ___PASTE(a,b) a##b
      |                       ^
<scratch space>:35:1: note: expanded from here
   35 | __UNIQUE_ID_guard578
      | ^
2 errors generated.
make[7]: *** [scripts/Makefile.build:203: kernel/irq/manage.o] Fehler 1
make[6]: *** [scripts/Makefile.build:461: kernel/irq] Fehler 2

Bert Karwatzki