From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============7563308884139871616==" MIME-Version: 1.0 From: kernel test robot To: kbuild-all@lists.01.org Subject: Re: [PATCH 11/12] riscv: extable: add a dedicated uaccess handler Date: Fri, 19 Nov 2021 01:31:32 +0800 Message-ID: <202111190145.XnPWplZR-lkp@intel.com> In-Reply-To: <20211118192651.605d0c80@xhacker> List-Id: --===============7563308884139871616== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hi Jisheng, I love your patch! Yet something to improve: [auto build test ERROR on bpf-next/master] [also build test ERROR on bpf/master linus/master v5.16-rc1 next-20211118] [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/Jisheng-Zhang/riscv-switch= -to-relative-extable-and-other-improvements/20211118-193905 base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git ma= ster config: riscv-rv32_defconfig (attached as .config) compiler: riscv32-linux-gcc (GCC) 11.2.0 reproduce (this is a W=3D1 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/011a843af8007bfb9ff01a537= e46e2ab6967dd23 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Jisheng-Zhang/riscv-switch-to-rela= tive-extable-and-other-improvements/20211118-193905 git checkout 011a843af8007bfb9ff01a537e46e2ab6967dd23 # save the attached .config to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=3D$HOME/0day COMPILER=3Dgcc-11.2.0 make.cross= O=3Dbuild_dir ARCH=3Driscv SHELL=3D/bin/bash 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 include/linux/uaccess.h:11, from include/linux/sched/task.h:11, from include/linux/sched/signal.h:9, from include/linux/rcuwait.h:6, from include/linux/percpu-rwsem.h:7, from include/linux/fs.h:33, from include/linux/tty.h:5, from init/do_mounts.c:6: include/asm-generic/termios.h: In function 'user_termio_to_kernel_termio= s': >> arch/riscv/include/asm/uaccess.h:113:9: error: expected ';' before 'if' 113 | if (err) \ | ^~ arch/riscv/include/asm/uaccess.h:133:17: note: in expansion of macro '__= get_user_8' 133 | __get_user_8((x), __gu_ptr, __gu_err); \ | ^~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:168:9: note: in expansion of macro '__g= et_user_nocheck' 168 | __get_user_nocheck(x, __gu_ptr, __gu_err); \ | ^~~~~~~~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:196:17: note: in expansion of macro '__= get_user' 196 | __get_user((x), __p) : \ | ^~~~~~~~~~ include/asm-generic/termios.h:25:13: note: in expansion of macro 'get_us= er' 25 | if (get_user(tmp, &termio->c_iflag) < 0) | ^~~~~~~~ >> arch/riscv/include/asm/uaccess.h:113:9: error: expected ';' before 'if' 113 | if (err) \ | ^~ arch/riscv/include/asm/uaccess.h:133:17: note: in expansion of macro '__= get_user_8' 133 | __get_user_8((x), __gu_ptr, __gu_err); \ | ^~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:168:9: note: in expansion of macro '__g= et_user_nocheck' 168 | __get_user_nocheck(x, __gu_ptr, __gu_err); \ | ^~~~~~~~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:196:17: note: in expansion of macro '__= get_user' 196 | __get_user((x), __p) : \ | ^~~~~~~~~~ include/asm-generic/termios.h:29:13: note: in expansion of macro 'get_us= er' 29 | if (get_user(tmp, &termio->c_oflag) < 0) | ^~~~~~~~ >> arch/riscv/include/asm/uaccess.h:113:9: error: expected ';' before 'if' 113 | if (err) \ | ^~ arch/riscv/include/asm/uaccess.h:133:17: note: in expansion of macro '__= get_user_8' 133 | __get_user_8((x), __gu_ptr, __gu_err); \ | ^~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:168:9: note: in expansion of macro '__g= et_user_nocheck' 168 | __get_user_nocheck(x, __gu_ptr, __gu_err); \ | ^~~~~~~~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:196:17: note: in expansion of macro '__= get_user' 196 | __get_user((x), __p) : \ | ^~~~~~~~~~ include/asm-generic/termios.h:33:13: note: in expansion of macro 'get_us= er' 33 | if (get_user(tmp, &termio->c_cflag) < 0) | ^~~~~~~~ >> arch/riscv/include/asm/uaccess.h:113:9: error: expected ';' before 'if' 113 | if (err) \ | ^~ arch/riscv/include/asm/uaccess.h:133:17: note: in expansion of macro '__= get_user_8' 133 | __get_user_8((x), __gu_ptr, __gu_err); \ | ^~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:168:9: note: in expansion of macro '__g= et_user_nocheck' 168 | __get_user_nocheck(x, __gu_ptr, __gu_err); \ | ^~~~~~~~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:196:17: note: in expansion of macro '__= get_user' 196 | __get_user((x), __p) : \ | ^~~~~~~~~~ include/asm-generic/termios.h:37:13: note: in expansion of macro 'get_us= er' 37 | if (get_user(tmp, &termio->c_lflag) < 0) | ^~~~~~~~ >> arch/riscv/include/asm/uaccess.h:113:9: error: expected ';' before 'if' 113 | if (err) \ | ^~ arch/riscv/include/asm/uaccess.h:133:17: note: in expansion of macro '__= get_user_8' 133 | __get_user_8((x), __gu_ptr, __gu_err); \ | ^~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:168:9: note: in expansion of macro '__g= et_user_nocheck' 168 | __get_user_nocheck(x, __gu_ptr, __gu_err); \ | ^~~~~~~~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:196:17: note: in expansion of macro '__= get_user' 196 | __get_user((x), __p) : \ | ^~~~~~~~~~ include/asm-generic/termios.h:41:13: note: in expansion of macro 'get_us= er' 41 | if (get_user(termios->c_line, &termio->c_line) < 0) | ^~~~~~~~ include/asm-generic/termios.h: In function 'kernel_termios_to_user_termi= o': arch/riscv/include/asm/uaccess.h:220:19: warning: unused variable '__tmp= ' [-Wunused-variable] 220 | uintptr_t __tmp; \ | ^~~~~ arch/riscv/include/asm/uaccess.h:249:17: note: in expansion of macro '__= put_user_8' 249 | __put_user_8((x), __gu_ptr, __pu_err); \ | ^~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:286:9: note: in expansion of macro '__p= ut_user_nocheck' 286 | __put_user_nocheck(__val, __gu_ptr, __pu_err); \ | ^~~~~~~~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:313:17: note: in expansion of macro '__= put_user' 313 | __put_user((x), __p) : \ | ^~~~~~~~~~ include/asm-generic/termios.h:59:13: note: in expansion of macro 'put_us= er' 59 | if (put_user(termios->c_iflag, &termio->c_iflag) < 0 || | ^~~~~~~~ arch/riscv/include/asm/uaccess.h:220:19: warning: unused variable '__tmp= ' [-Wunused-variable] 220 | uintptr_t __tmp; \ | ^~~~~ arch/riscv/include/asm/uaccess.h:249:17: note: in expansion of macro '__= put_user_8' 249 | __put_user_8((x), __gu_ptr, __pu_err); \ | ^~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:286:9: note: in expansion of macro '__p= ut_user_nocheck' 286 | __put_user_nocheck(__val, __gu_ptr, __pu_err); \ | ^~~~~~~~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:313:17: note: in expansion of macro '__= put_user' 313 | __put_user((x), __p) : \ | ^~~~~~~~~~ include/asm-generic/termios.h:60:13: note: in expansion of macro 'put_us= er' 60 | put_user(termios->c_oflag, &termio->c_oflag) < 0 || | ^~~~~~~~ arch/riscv/include/asm/uaccess.h:220:19: warning: unused variable '__tmp= ' [-Wunused-variable] 220 | uintptr_t __tmp; \ | ^~~~~ arch/riscv/include/asm/uaccess.h:249:17: note: in expansion of macro '__= put_user_8' 249 | __put_user_8((x), __gu_ptr, __pu_err); \ | ^~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:286:9: note: in expansion of macro '__p= ut_user_nocheck' 286 | __put_user_nocheck(__val, __gu_ptr, __pu_err); \ | ^~~~~~~~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:313:17: note: in expansion of macro '__= put_user' 313 | __put_user((x), __p) : \ | ^~~~~~~~~~ include/asm-generic/termios.h:61:13: note: in expansion of macro 'put_us= er' 61 | put_user(termios->c_cflag, &termio->c_cflag) < 0 || | ^~~~~~~~ arch/riscv/include/asm/uaccess.h:220:19: warning: unused variable '__tmp= ' [-Wunused-variable] 220 | uintptr_t __tmp; \ | ^~~~~ arch/riscv/include/asm/uaccess.h:249:17: note: in expansion of macro '__= put_user_8' 249 | __put_user_8((x), __gu_ptr, __pu_err); \ | ^~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:286:9: note: in expansion of macro '__p= ut_user_nocheck' 286 | __put_user_nocheck(__val, __gu_ptr, __pu_err); \ | ^~~~~~~~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:313:17: note: in expansion of macro '__= put_user' 313 | __put_user((x), __p) : \ | ^~~~~~~~~~ include/asm-generic/termios.h:62:13: note: in expansion of macro 'put_us= er' 62 | put_user(termios->c_lflag, &termio->c_lflag) < 0 || | ^~~~~~~~ arch/riscv/include/asm/uaccess.h:220:19: warning: unused variable '__tmp= ' [-Wunused-variable] 220 | uintptr_t __tmp; \ | ^~~~~ arch/riscv/include/asm/uaccess.h:249:17: note: in expansion of macro '__= put_user_8' 249 | __put_user_8((x), __gu_ptr, __pu_err); \ | ^~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:286:9: note: in expansion of macro '__p= ut_user_nocheck' 286 | __put_user_nocheck(__val, __gu_ptr, __pu_err); \ | ^~~~~~~~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:313:17: note: in expansion of macro '__= put_user' 313 | __put_user((x), __p) : \ | ^~~~~~~~~~ include/asm-generic/termios.h:63:13: note: in expansion of macro 'put_us= er' 63 | put_user(termios->c_line, &termio->c_line) < 0 || | ^~~~~~~~ -- In file included from include/linux/uaccess.h:11, from arch/riscv/kernel/signal.c:10: arch/riscv/kernel/signal.c: In function 'restore_fp_state': >> arch/riscv/include/asm/uaccess.h:113:9: error: expected ';' before 'if' 113 | if (err) \ | ^~ arch/riscv/include/asm/uaccess.h:133:17: note: in expansion of macro '__= get_user_8' 133 | __get_user_8((x), __gu_ptr, __gu_err); \ | ^~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:168:9: note: in expansion of macro '__g= et_user_nocheck' 168 | __get_user_nocheck(x, __gu_ptr, __gu_err); \ | ^~~~~~~~~~~~~~~~~~ arch/riscv/kernel/signal.c:50:23: note: in expansion of macro '__get_use= r' 50 | err =3D __get_user(value, &sc_fpregs->q.reserved= [i]); | ^~~~~~~~~~ arch/riscv/kernel/signal.c: In function 'save_fp_state': arch/riscv/include/asm/uaccess.h:220:19: warning: unused variable '__tmp= ' [-Wunused-variable] 220 | uintptr_t __tmp; \ | ^~~~~ arch/riscv/include/asm/uaccess.h:249:17: note: in expansion of macro '__= put_user_8' 249 | __put_user_8((x), __gu_ptr, __pu_err); \ | ^~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:286:9: note: in expansion of macro '__p= ut_user_nocheck' 286 | __put_user_nocheck(__val, __gu_ptr, __pu_err); \ | ^~~~~~~~~~~~~~~~~~ arch/riscv/kernel/signal.c:74:23: note: in expansion of macro '__put_use= r' 74 | err =3D __put_user(0, &sc_fpregs->q.reserved[i]); | ^~~~~~~~~~ arch/riscv/kernel/signal.c: In function 'setup_rt_frame': arch/riscv/include/asm/uaccess.h:220:19: warning: unused variable '__tmp= ' [-Wunused-variable] 220 | uintptr_t __tmp; \ | ^~~~~ arch/riscv/include/asm/uaccess.h:249:17: note: in expansion of macro '__= put_user_8' 249 | __put_user_8((x), __gu_ptr, __pu_err); \ | ^~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:286:9: note: in expansion of macro '__p= ut_user_nocheck' 286 | __put_user_nocheck(__val, __gu_ptr, __pu_err); \ | ^~~~~~~~~~~~~~~~~~ arch/riscv/kernel/signal.c:187:16: note: in expansion of macro '__put_us= er' 187 | err |=3D __put_user(0, &frame->uc.uc_flags); | ^~~~~~~~~~ arch/riscv/include/asm/uaccess.h:220:19: warning: unused variable '__tmp= ' [-Wunused-variable] 220 | uintptr_t __tmp; \ | ^~~~~ arch/riscv/include/asm/uaccess.h:249:17: note: in expansion of macro '__= put_user_8' 249 | __put_user_8((x), __gu_ptr, __pu_err); \ | ^~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:286:9: note: in expansion of macro '__p= ut_user_nocheck' 286 | __put_user_nocheck(__val, __gu_ptr, __pu_err); \ | ^~~~~~~~~~~~~~~~~~ arch/riscv/kernel/signal.c:188:16: note: in expansion of macro '__put_us= er' 188 | err |=3D __put_user(NULL, &frame->uc.uc_link); | ^~~~~~~~~~ arch/riscv/kernel/signal.c: At top level: arch/riscv/kernel/signal.c:309:27: warning: no previous prototype for 'd= o_notify_resume' [-Wmissing-prototypes] 309 | asmlinkage __visible void do_notify_resume(struct pt_regs *regs, | ^~~~~~~~~~~~~~~~ -- In file included from include/linux/uaccess.h:11, from include/linux/sched/task.h:11, from kernel/fork.c:23: include/asm-generic/termios.h: In function 'user_termio_to_kernel_termio= s': >> arch/riscv/include/asm/uaccess.h:113:9: error: expected ';' before 'if' 113 | if (err) \ | ^~ arch/riscv/include/asm/uaccess.h:133:17: note: in expansion of macro '__= get_user_8' 133 | __get_user_8((x), __gu_ptr, __gu_err); \ | ^~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:168:9: note: in expansion of macro '__g= et_user_nocheck' 168 | __get_user_nocheck(x, __gu_ptr, __gu_err); \ | ^~~~~~~~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:196:17: note: in expansion of macro '__= get_user' 196 | __get_user((x), __p) : \ | ^~~~~~~~~~ include/asm-generic/termios.h:25:13: note: in expansion of macro 'get_us= er' 25 | if (get_user(tmp, &termio->c_iflag) < 0) | ^~~~~~~~ >> arch/riscv/include/asm/uaccess.h:113:9: error: expected ';' before 'if' 113 | if (err) \ | ^~ arch/riscv/include/asm/uaccess.h:133:17: note: in expansion of macro '__= get_user_8' 133 | __get_user_8((x), __gu_ptr, __gu_err); \ | ^~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:168:9: note: in expansion of macro '__g= et_user_nocheck' 168 | __get_user_nocheck(x, __gu_ptr, __gu_err); \ | ^~~~~~~~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:196:17: note: in expansion of macro '__= get_user' 196 | __get_user((x), __p) : \ | ^~~~~~~~~~ include/asm-generic/termios.h:29:13: note: in expansion of macro 'get_us= er' 29 | if (get_user(tmp, &termio->c_oflag) < 0) | ^~~~~~~~ >> arch/riscv/include/asm/uaccess.h:113:9: error: expected ';' before 'if' 113 | if (err) \ | ^~ arch/riscv/include/asm/uaccess.h:133:17: note: in expansion of macro '__= get_user_8' 133 | __get_user_8((x), __gu_ptr, __gu_err); \ | ^~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:168:9: note: in expansion of macro '__g= et_user_nocheck' 168 | __get_user_nocheck(x, __gu_ptr, __gu_err); \ | ^~~~~~~~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:196:17: note: in expansion of macro '__= get_user' 196 | __get_user((x), __p) : \ | ^~~~~~~~~~ include/asm-generic/termios.h:33:13: note: in expansion of macro 'get_us= er' 33 | if (get_user(tmp, &termio->c_cflag) < 0) | ^~~~~~~~ >> arch/riscv/include/asm/uaccess.h:113:9: error: expected ';' before 'if' 113 | if (err) \ | ^~ arch/riscv/include/asm/uaccess.h:133:17: note: in expansion of macro '__= get_user_8' 133 | __get_user_8((x), __gu_ptr, __gu_err); \ | ^~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:168:9: note: in expansion of macro '__g= et_user_nocheck' 168 | __get_user_nocheck(x, __gu_ptr, __gu_err); \ | ^~~~~~~~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:196:17: note: in expansion of macro '__= get_user' 196 | __get_user((x), __p) : \ | ^~~~~~~~~~ include/asm-generic/termios.h:37:13: note: in expansion of macro 'get_us= er' 37 | if (get_user(tmp, &termio->c_lflag) < 0) | ^~~~~~~~ >> arch/riscv/include/asm/uaccess.h:113:9: error: expected ';' before 'if' 113 | if (err) \ | ^~ arch/riscv/include/asm/uaccess.h:133:17: note: in expansion of macro '__= get_user_8' 133 | __get_user_8((x), __gu_ptr, __gu_err); \ | ^~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:168:9: note: in expansion of macro '__g= et_user_nocheck' 168 | __get_user_nocheck(x, __gu_ptr, __gu_err); \ | ^~~~~~~~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:196:17: note: in expansion of macro '__= get_user' 196 | __get_user((x), __p) : \ | ^~~~~~~~~~ include/asm-generic/termios.h:41:13: note: in expansion of macro 'get_us= er' 41 | if (get_user(termios->c_line, &termio->c_line) < 0) | ^~~~~~~~ include/asm-generic/termios.h: In function 'kernel_termios_to_user_termi= o': arch/riscv/include/asm/uaccess.h:220:19: warning: unused variable '__tmp= ' [-Wunused-variable] 220 | uintptr_t __tmp; \ | ^~~~~ arch/riscv/include/asm/uaccess.h:249:17: note: in expansion of macro '__= put_user_8' 249 | __put_user_8((x), __gu_ptr, __pu_err); \ | ^~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:286:9: note: in expansion of macro '__p= ut_user_nocheck' 286 | __put_user_nocheck(__val, __gu_ptr, __pu_err); \ | ^~~~~~~~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:313:17: note: in expansion of macro '__= put_user' 313 | __put_user((x), __p) : \ | ^~~~~~~~~~ include/asm-generic/termios.h:59:13: note: in expansion of macro 'put_us= er' 59 | if (put_user(termios->c_iflag, &termio->c_iflag) < 0 || | ^~~~~~~~ arch/riscv/include/asm/uaccess.h:220:19: warning: unused variable '__tmp= ' [-Wunused-variable] 220 | uintptr_t __tmp; \ | ^~~~~ arch/riscv/include/asm/uaccess.h:249:17: note: in expansion of macro '__= put_user_8' 249 | __put_user_8((x), __gu_ptr, __pu_err); \ | ^~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:286:9: note: in expansion of macro '__p= ut_user_nocheck' 286 | __put_user_nocheck(__val, __gu_ptr, __pu_err); \ | ^~~~~~~~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:313:17: note: in expansion of macro '__= put_user' 313 | __put_user((x), __p) : \ | ^~~~~~~~~~ include/asm-generic/termios.h:60:13: note: in expansion of macro 'put_us= er' 60 | put_user(termios->c_oflag, &termio->c_oflag) < 0 || | ^~~~~~~~ arch/riscv/include/asm/uaccess.h:220:19: warning: unused variable '__tmp= ' [-Wunused-variable] 220 | uintptr_t __tmp; \ | ^~~~~ arch/riscv/include/asm/uaccess.h:249:17: note: in expansion of macro '__= put_user_8' 249 | __put_user_8((x), __gu_ptr, __pu_err); \ | ^~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:286:9: note: in expansion of macro '__p= ut_user_nocheck' 286 | __put_user_nocheck(__val, __gu_ptr, __pu_err); \ | ^~~~~~~~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:313:17: note: in expansion of macro '__= put_user' 313 | __put_user((x), __p) : \ | ^~~~~~~~~~ include/asm-generic/termios.h:61:13: note: in expansion of macro 'put_us= er' 61 | put_user(termios->c_cflag, &termio->c_cflag) < 0 || | ^~~~~~~~ arch/riscv/include/asm/uaccess.h:220:19: warning: unused variable '__tmp= ' [-Wunused-variable] 220 | uintptr_t __tmp; \ | ^~~~~ arch/riscv/include/asm/uaccess.h:249:17: note: in expansion of macro '__= put_user_8' 249 | __put_user_8((x), __gu_ptr, __pu_err); \ | ^~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:286:9: note: in expansion of macro '__p= ut_user_nocheck' 286 | __put_user_nocheck(__val, __gu_ptr, __pu_err); \ | ^~~~~~~~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:313:17: note: in expansion of macro '__= put_user' 313 | __put_user((x), __p) : \ | ^~~~~~~~~~ include/asm-generic/termios.h:62:13: note: in expansion of macro 'put_us= er' 62 | put_user(termios->c_lflag, &termio->c_lflag) < 0 || | ^~~~~~~~ arch/riscv/include/asm/uaccess.h:220:19: warning: unused variable '__tmp= ' [-Wunused-variable] 220 | uintptr_t __tmp; \ | ^~~~~ arch/riscv/include/asm/uaccess.h:249:17: note: in expansion of macro '__= put_user_8' 249 | __put_user_8((x), __gu_ptr, __pu_err); \ | ^~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:286:9: note: in expansion of macro '__p= ut_user_nocheck' 286 | __put_user_nocheck(__val, __gu_ptr, __pu_err); \ | ^~~~~~~~~~~~~~~~~~ arch/riscv/include/asm/uaccess.h:313:17: note: in expansion of macro '__= put_user' 313 | __put_user((x), __p) : \ | ^~~~~~~~~~ include/asm-generic/termios.h:63:13: note: in expansion of macro 'put_us= er' 63 | put_user(termios->c_line, &termio->c_line) < 0 || | ^~~~~~~~ kernel/fork.c: At top level: kernel/fork.c:161:13: warning: no previous prototype for 'arch_release_t= ask_struct' [-Wmissing-prototypes] 161 | void __weak arch_release_task_struct(struct task_struct *tsk) | ^~~~~~~~~~~~~~~~~~~~~~~~ kernel/fork.c:763:20: warning: no previous prototype for 'arch_task_cach= e_init' [-Wmissing-prototypes] 763 | void __init __weak arch_task_cache_init(void) { } | ^~~~~~~~~~~~~~~~~~~~ In file included from include/linux/uaccess.h:11, from include/linux/sched/task.h:11, from kernel/fork.c:23: .. vim +113 arch/riscv/include/asm/uaccess.h 94 = 95 #ifdef CONFIG_64BIT 96 #define __get_user_8(x, ptr, err) \ 97 __get_user_asm("ld", x, ptr, err) 98 #else /* !CONFIG_64BIT */ 99 #define __get_user_8(x, ptr, err) \ 100 do { \ 101 u32 __user *__ptr =3D (u32 __user *)(ptr); \ 102 u32 __lo, __hi; \ 103 __asm__ __volatile__ ( \ 104 "1:\n" \ 105 " lw %1, %3\n" \ 106 "2:\n" \ 107 " lw %2, %4\n" \ 108 "3:\n" \ 109 _ASM_EXTABLE_UACCESS_ERR_ZERO(1b, 3b, %0, %1) \ 110 _ASM_EXTABLE_UACCESS_ERR_ZERO(2b, 3b, %0, %1) \ 111 : "+r" (err), "=3D&r" (__lo), "=3Dr" (__hi) \ 112 : "m" (__ptr[__LSW]), "m" (__ptr[__MSW])) \ > 113 if (err) \ 114 __hi =3D 0; \ 115 (x) =3D (__typeof__(x))((__typeof__((x)-(x)))( \ 116 (((u64)__hi << 32) | __lo))); \ 117 } while (0) 118 #endif /* CONFIG_64BIT */ 119 = --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org --===============7563308884139871616== Content-Type: application/gzip MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config.gz" 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 --===============7563308884139871616==--