Hi Christophe, I love your patch! Yet something to improve: [auto build test ERROR on char-misc/char-misc-testing] [also build test ERROR on kees/for-next/pstore soc/for-next linus/master v5.18-rc2 next-20220411] [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] url: https://github.com/intel-lab-lkp/linux/commits/Christophe-Leroy/lkdtm-bugs-Don-t-expect-thread-termination-without-CONFIG_UBSAN_TRAP/20220411-225758 base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git 3123109284176b1532874591f7c81f3837bbdc17 config: microblaze-buildonly-randconfig-r002-20220411 (https://download.01.org/0day-ci/archive/20220412/202204120139.6efSg72F-lkp@xxxxxxxxx/config) compiler: microblaze-linux-gcc (GCC) 11.2.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/intel-lab-lkp/linux/commit/50ed7d4c37c2080e281638b783a912193a02eed9 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Christophe-Leroy/lkdtm-bugs-Don-t-expect-thread-termination-without-CONFIG_UBSAN_TRAP/20220411-225758 git checkout 50ed7d4c37c2080e281638b783a912193a02eed9 # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=microblaze SHELL=/bin/bash drivers/misc/lkdtm/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> All errors (new ones prefixed by >>): drivers/misc/lkdtm/bugs.c: In function 'lkdtm_ARRAY_BOUNDS': >> drivers/misc/lkdtm/bugs.c:351:9: error: 'else' without a previous 'if' 351 | else | ^~~~ vim +351 drivers/misc/lkdtm/bugs.c 321 322 void lkdtm_ARRAY_BOUNDS(void) 323 { 324 struct array_bounds_flex_array *not_checked; 325 struct array_bounds *checked; 326 volatile int i; 327 328 not_checked = kmalloc(sizeof(*not_checked) * 2, GFP_KERNEL); 329 checked = kmalloc(sizeof(*checked) * 2, GFP_KERNEL); 330 331 pr_info("Array access within bounds ...\n"); 332 /* For both, touch all bytes in the actual member size. */ 333 for (i = 0; i < sizeof(checked->data); i++) 334 checked->data[i] = 'A'; 335 /* 336 * For the uninstrumented flex array member, also touch 1 byte 337 * beyond to verify it is correctly uninstrumented. 338 */ 339 for (i = 0; i < sizeof(not_checked->data) + 1; i++) 340 not_checked->data[i] = 'A'; 341 342 pr_info("Array access beyond bounds ...\n"); 343 for (i = 0; i < sizeof(checked->data) + 1; i++) 344 checked->data[i] = 'B'; 345 346 kfree(not_checked); 347 kfree(checked); 348 pr_err("FAIL: survived array bounds overflow!\n"); 349 if (IS_ENABLED(CONFIG_UBSAN_BOUNDS)) 350 pr_expected_config(CONFIG_UBSAN_TRAP); > 351 else 352 pr_expected_config(CONFIG_UBSAN_BOUNDS); 353 } 354 -- 0-DAY CI Kernel Test Service https://01.org/lkp