On Fri, Jun 07, 2024 at 06:47:54PM +0800, kernel test robot wrote: > tree: https://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git work.fd > head: e0288728ff8a4703675c4c8e2ea8a0122b7675f6 > commit: 3cc074209e634318e4f9fd4a813dae7703d2aa78 [11/19] switch simple users of fdget() to CLASS(fd, ...) > config: s390-allnoconfig (https://download.01.org/0day-ci/archive/20240607/202406071836.yx9rpD7U-lkp@xxxxxxxxx/config) > compiler: clang version 19.0.0git (https://github.com/llvm/llvm-project d7d2d4f53fc79b4b58e8d8d08151b577c3699d4a) > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240607/202406071836.yx9rpD7U-lkp@xxxxxxxxx/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@xxxxxxxxx> > | Closes: https://lore.kernel.org/oe-kbuild-all/202406071836.yx9rpD7U-lkp@xxxxxxxxx/ > > All errors (new ones prefixed by >>): [loads of noise, then] > >> fs/select.c:860:3: error: cannot jump from this goto statement to its label > 860 | goto out; > | ^ > fs/select.c:862:12: note: jump bypasses initialization of variable with __attribute__((cleanup)) > 862 | CLASS(fd, f)(fd); > | ^ > 13 warnings and 1 error generated. Sigh... That's why declarations in the middle of block really stink. Sadly, the use of CLASS() very much invites that kind of crap. For this series I decided to suppress the gag reflex and see how it goes, but... ouch. Worse, neither current gcc, nor clang 14 catch that kind of crap ;-/