Hi Christophe, I love your patch! Yet something to improve: [auto build test ERROR on powerpc/next] [also build test ERROR on v5.15-rc2 next-20210920] [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/0day-ci/linux/commits/Christophe-Leroy/powerpc-inst-Refactor-___get_user_instr/20210920-142409 base: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next config: powerpc-allnoconfig (attached as .config) compiler: powerpc-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/0day-ci/linux/commit/5cf46b9261bd40b829a760ac96f7e8209bda11b4 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Christophe-Leroy/powerpc-inst-Refactor-___get_user_instr/20210920-142409 git checkout 5cf46b9261bd40b829a760ac96f7e8209bda11b4 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=powerpc If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): In file included from arch/powerpc/include/asm/hw_breakpoint.h:13, from arch/powerpc/include/asm/processor.h:43, from arch/powerpc/include/asm/thread_info.h:40, from include/linux/thread_info.h:60, from include/asm-generic/preempt.h:5, from ./arch/powerpc/include/generated/asm/preempt.h:1, from include/linux/preempt.h:78, from include/linux/spinlock.h:55, from include/linux/mmzone.h:8, from include/linux/gfp.h:6, from include/linux/mm.h:10, from arch/powerpc/kernel/align.c:17: arch/powerpc/kernel/align.c: In function 'fix_alignment': >> arch/powerpc/include/asm/inst.h:12:32: error: variable '__suffix' set but not used [-Werror=unused-but-set-variable] 12 | unsigned int __prefix, __suffix; \ | ^~~~~~~~ arch/powerpc/include/asm/inst.h:31:34: note: in expansion of macro '___get_user_instr' 31 | #define __get_user_instr(x, ptr) ___get_user_instr(__get_user, x, ptr) | ^~~~~~~~~~~~~~~~~ arch/powerpc/kernel/align.c:310:21: note: in expansion of macro '__get_user_instr' 310 | r = __get_user_instr(instr, (void __user *)regs->nip); | ^~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors -- In file included from arch/powerpc/include/asm/hw_breakpoint.h:13, from arch/powerpc/include/asm/processor.h:43, from arch/powerpc/include/asm/thread_info.h:40, from include/linux/thread_info.h:60, from arch/powerpc/include/asm/ptrace.h:323, from arch/powerpc/include/asm/hw_irq.h:12, from arch/powerpc/include/asm/irqflags.h:12, from include/linux/irqflags.h:16, from include/asm-generic/cmpxchg-local.h:6, from arch/powerpc/include/asm/cmpxchg.h:526, from arch/powerpc/include/asm/atomic.h:11, from include/linux/atomic.h:7, from include/linux/rcupdate.h:25, from include/linux/rculist.h:11, from include/linux/pid.h:5, from include/linux/sched.h:14, from include/linux/uaccess.h:8, from arch/powerpc/kernel/hw_breakpoint_constraints.c:3: arch/powerpc/kernel/hw_breakpoint_constraints.c: In function 'wp_get_instr_detail': >> arch/powerpc/include/asm/inst.h:12:32: error: variable '__suffix' set but not used [-Werror=unused-but-set-variable] 12 | unsigned int __prefix, __suffix; \ | ^~~~~~~~ arch/powerpc/include/asm/inst.h:31:34: note: in expansion of macro '___get_user_instr' 31 | #define __get_user_instr(x, ptr) ___get_user_instr(__get_user, x, ptr) | ^~~~~~~~~~~~~~~~~ arch/powerpc/kernel/hw_breakpoint_constraints.c:144:13: note: in expansion of macro '__get_user_instr' 144 | if (__get_user_instr(*instr, (void __user *)regs->nip)) | ^~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors vim +/__suffix +12 arch/powerpc/include/asm/inst.h 650b55b707fdfa Jordan Niethe 2020-05-15 6 35506a3e2d7c4d Christophe Leroy 2021-03-10 7 #define ___get_user_instr(gu_op, dest, ptr) \ 35506a3e2d7c4d Christophe Leroy 2021-03-10 8 ({ \ 042e0860e1c1d6 Christophe Leroy 2021-05-20 9 long __gui_ret; \ 9134806e149ebb Christophe Leroy 2021-05-20 10 u32 __user *__gui_ptr = (u32 __user *)ptr; \ 35506a3e2d7c4d Christophe Leroy 2021-03-10 11 struct ppc_inst __gui_inst; \ 35506a3e2d7c4d Christophe Leroy 2021-03-10 @12 unsigned int __prefix, __suffix; \ b3a9e523237013 Christophe Leroy 2021-05-20 13 \ b3a9e523237013 Christophe Leroy 2021-05-20 14 __chk_user_ptr(ptr); \ 9134806e149ebb Christophe Leroy 2021-05-20 15 __gui_ret = gu_op(__prefix, __gui_ptr); \ 35506a3e2d7c4d Christophe Leroy 2021-03-10 16 if (__gui_ret == 0) { \ 5cf46b9261bd40 Christophe Leroy 2021-09-20 17 if (IS_ENABLED(CONFIG_PPC64) && (__prefix >> 26) == OP_PREFIX) { \ 9134806e149ebb Christophe Leroy 2021-05-20 18 __gui_ret = gu_op(__suffix, __gui_ptr + 1); \ 042e0860e1c1d6 Christophe Leroy 2021-05-20 19 __gui_inst = ppc_inst_prefix(__prefix, __suffix); \ 35506a3e2d7c4d Christophe Leroy 2021-03-10 20 } else { \ 35506a3e2d7c4d Christophe Leroy 2021-03-10 21 __gui_inst = ppc_inst(__prefix); \ 35506a3e2d7c4d Christophe Leroy 2021-03-10 22 } \ 35506a3e2d7c4d Christophe Leroy 2021-03-10 23 if (__gui_ret == 0) \ 35506a3e2d7c4d Christophe Leroy 2021-03-10 24 (dest) = __gui_inst; \ 35506a3e2d7c4d Christophe Leroy 2021-03-10 25 } \ 35506a3e2d7c4d Christophe Leroy 2021-03-10 26 __gui_ret; \ 35506a3e2d7c4d Christophe Leroy 2021-03-10 27 }) 35506a3e2d7c4d Christophe Leroy 2021-03-10 28 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org