From: kernel test robot <lkp@intel.com> To: Dmitry Safonov <dima@arista.com>, linux-kernel@vger.kernel.org Cc: kbuild-all@lists.01.org, Dmitry Safonov <0x7f454c46@gmail.com>, Alexander Viro <viro@zeniv.linux.org.uk>, Andrew Morton <akpm@linux-foundation.org>, Linux Memory Management List <linux-mm@kvack.org>, Andy Lutomirski <luto@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Borislav Petkov <bp@alien8.de>, Catalin Marinas <catalin.marinas@arm.com>, Christophe Leroy <christophe.leroy@csgroup.eu> Subject: Re: [PATCH 19/19] mips/vdso: Migrate to user_landing Date: Fri, 13 Nov 2020 17:58:08 +0800 [thread overview] Message-ID: <202011131705.1JFCMwwl-lkp@intel.com> (raw) In-Reply-To: <20201108051730.2042693-20-dima@arista.com> [-- Attachment #1: Type: text/plain, Size: 6284 bytes --] Hi Dmitry, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on c34f157421f6905e6b4a79a312e9175dce2bc607] url: https://github.com/0day-ci/linux/commits/Dmitry-Safonov/Add-generic-user_landing-tracking/20201109-090354 base: c34f157421f6905e6b4a79a312e9175dce2bc607 config: mips-randconfig-p002-20201109 (attached as .config) compiler: mips-linux-gcc (GCC) 9.3.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/cf47146993b3d1866163ee1815829d9e76b48807 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Dmitry-Safonov/Add-generic-user_landing-tracking/20201109-090354 git checkout cf47146993b3d1866163ee1815829d9e76b48807 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=mips If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All warnings (new ones prefixed by >>): arch/mips/kernel/signal.c:439:5: warning: no previous prototype for 'setup_sigcontext' [-Wmissing-prototypes] 439 | int setup_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc) | ^~~~~~~~~~~~~~~~ arch/mips/kernel/signal.c:516:5: warning: no previous prototype for 'restore_sigcontext' [-Wmissing-prototypes] 516 | int restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc) | ^~~~~~~~~~~~~~~~~~ arch/mips/kernel/signal.c:630:17: warning: no previous prototype for 'sys_sigreturn' [-Wmissing-prototypes] 630 | asmlinkage void sys_sigreturn(void) | ^~~~~~~~~~~~~ arch/mips/kernel/signal.c:667:17: warning: no previous prototype for 'sys_rt_sigreturn' [-Wmissing-prototypes] 667 | asmlinkage void sys_rt_sigreturn(void) | ^~~~~~~~~~~~~~~~ In file included from include/linux/mmzone.h:21, from include/linux/gfp.h:6, from include/linux/mm.h:10, from arch/mips/kernel/signal.c:15: arch/mips/kernel/signal.c: In function 'handle_signal': include/linux/mm_types.h:500:31: error: 'TASK_SIZE_MAX' undeclared (first use in this function); did you mean 'TASK_SIZE_OF'? 500 | #define UNMAPPED_USER_LANDING TASK_SIZE_MAX | ^~~~~~~~~~~~~ arch/mips/kernel/signal.c:814:14: note: in expansion of macro 'UNMAPPED_USER_LANDING' 814 | if (land == UNMAPPED_USER_LANDING) | ^~~~~~~~~~~~~~~~~~~~~ include/linux/mm_types.h:500:31: note: each undeclared identifier is reported only once for each function it appears in 500 | #define UNMAPPED_USER_LANDING TASK_SIZE_MAX | ^~~~~~~~~~~~~ arch/mips/kernel/signal.c:814:14: note: in expansion of macro 'UNMAPPED_USER_LANDING' 814 | if (land == UNMAPPED_USER_LANDING) | ^~~~~~~~~~~~~~~~~~~~~ >> arch/mips/kernel/signal.c:848:34: warning: passing argument 1 of 'abi->setup_rt_frame' makes pointer from integer without a cast [-Wint-conversion] 848 | ret = abi->setup_rt_frame(land + abi->vdso->off_rt_sigreturn, | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | long unsigned int arch/mips/kernel/signal.c:848:34: note: expected 'void *' but argument is of type 'long unsigned int' >> arch/mips/kernel/signal.c:851:31: warning: passing argument 1 of 'abi->setup_frame' makes pointer from integer without a cast [-Wint-conversion] 851 | ret = abi->setup_frame(land + abi->vdso->off_sigreturn, | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ | | | long unsigned int arch/mips/kernel/signal.c:851:31: note: expected 'void *' but argument is of type 'long unsigned int' arch/mips/kernel/signal.c: At top level: arch/mips/kernel/signal.c:898:17: warning: no previous prototype for 'do_notify_resume' [-Wmissing-prototypes] 898 | asmlinkage void do_notify_resume(struct pt_regs *regs, void *unused, | ^~~~~~~~~~~~~~~~ vim +848 arch/mips/kernel/signal.c 806 807 static void handle_signal(struct ksignal *ksig, struct pt_regs *regs) 808 { 809 unsigned long land = (unsigned long)current->mm->user_landing; 810 sigset_t *oldset = sigmask_to_save(); 811 int ret = 1; 812 struct mips_abi *abi = current->thread.abi; 813 814 if (land == UNMAPPED_USER_LANDING) 815 goto err; 816 /* 817 * If we were emulating a delay slot instruction, exit that frame such 818 * that addresses in the sigframe are as expected for userland and we 819 * don't have a problem if we reuse the thread's frame for an 820 * instruction within the signal handler. 821 */ 822 dsemul_thread_rollback(regs); 823 824 if (regs->regs[0]) { 825 switch(regs->regs[2]) { 826 case ERESTART_RESTARTBLOCK: 827 case ERESTARTNOHAND: 828 regs->regs[2] = EINTR; 829 break; 830 case ERESTARTSYS: 831 if (!(ksig->ka.sa.sa_flags & SA_RESTART)) { 832 regs->regs[2] = EINTR; 833 break; 834 } 835 fallthrough; 836 case ERESTARTNOINTR: 837 regs->regs[7] = regs->regs[26]; 838 regs->regs[2] = regs->regs[0]; 839 regs->cp0_epc -= 4; 840 } 841 842 regs->regs[0] = 0; /* Don't deal with this again. */ 843 } 844 845 rseq_signal_deliver(ksig, regs); 846 847 if (sig_uses_siginfo(&ksig->ka, abi)) > 848 ret = abi->setup_rt_frame(land + abi->vdso->off_rt_sigreturn, 849 ksig, regs, oldset); 850 else > 851 ret = abi->setup_frame(land + abi->vdso->off_sigreturn, 852 ksig, regs, oldset); 853 854 err: 855 signal_setup_done(ret, ksig, 0); 856 } 857 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org [-- Attachment #2: .config.gz --] [-- Type: application/gzip, Size: 27618 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com> To: kbuild-all@lists.01.org Subject: Re: [PATCH 19/19] mips/vdso: Migrate to user_landing Date: Fri, 13 Nov 2020 17:58:08 +0800 [thread overview] Message-ID: <202011131705.1JFCMwwl-lkp@intel.com> (raw) In-Reply-To: <20201108051730.2042693-20-dima@arista.com> [-- Attachment #1: Type: text/plain, Size: 6415 bytes --] Hi Dmitry, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on c34f157421f6905e6b4a79a312e9175dce2bc607] url: https://github.com/0day-ci/linux/commits/Dmitry-Safonov/Add-generic-user_landing-tracking/20201109-090354 base: c34f157421f6905e6b4a79a312e9175dce2bc607 config: mips-randconfig-p002-20201109 (attached as .config) compiler: mips-linux-gcc (GCC) 9.3.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/cf47146993b3d1866163ee1815829d9e76b48807 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Dmitry-Safonov/Add-generic-user_landing-tracking/20201109-090354 git checkout cf47146993b3d1866163ee1815829d9e76b48807 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=mips If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All warnings (new ones prefixed by >>): arch/mips/kernel/signal.c:439:5: warning: no previous prototype for 'setup_sigcontext' [-Wmissing-prototypes] 439 | int setup_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc) | ^~~~~~~~~~~~~~~~ arch/mips/kernel/signal.c:516:5: warning: no previous prototype for 'restore_sigcontext' [-Wmissing-prototypes] 516 | int restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc) | ^~~~~~~~~~~~~~~~~~ arch/mips/kernel/signal.c:630:17: warning: no previous prototype for 'sys_sigreturn' [-Wmissing-prototypes] 630 | asmlinkage void sys_sigreturn(void) | ^~~~~~~~~~~~~ arch/mips/kernel/signal.c:667:17: warning: no previous prototype for 'sys_rt_sigreturn' [-Wmissing-prototypes] 667 | asmlinkage void sys_rt_sigreturn(void) | ^~~~~~~~~~~~~~~~ In file included from include/linux/mmzone.h:21, from include/linux/gfp.h:6, from include/linux/mm.h:10, from arch/mips/kernel/signal.c:15: arch/mips/kernel/signal.c: In function 'handle_signal': include/linux/mm_types.h:500:31: error: 'TASK_SIZE_MAX' undeclared (first use in this function); did you mean 'TASK_SIZE_OF'? 500 | #define UNMAPPED_USER_LANDING TASK_SIZE_MAX | ^~~~~~~~~~~~~ arch/mips/kernel/signal.c:814:14: note: in expansion of macro 'UNMAPPED_USER_LANDING' 814 | if (land == UNMAPPED_USER_LANDING) | ^~~~~~~~~~~~~~~~~~~~~ include/linux/mm_types.h:500:31: note: each undeclared identifier is reported only once for each function it appears in 500 | #define UNMAPPED_USER_LANDING TASK_SIZE_MAX | ^~~~~~~~~~~~~ arch/mips/kernel/signal.c:814:14: note: in expansion of macro 'UNMAPPED_USER_LANDING' 814 | if (land == UNMAPPED_USER_LANDING) | ^~~~~~~~~~~~~~~~~~~~~ >> arch/mips/kernel/signal.c:848:34: warning: passing argument 1 of 'abi->setup_rt_frame' makes pointer from integer without a cast [-Wint-conversion] 848 | ret = abi->setup_rt_frame(land + abi->vdso->off_rt_sigreturn, | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | long unsigned int arch/mips/kernel/signal.c:848:34: note: expected 'void *' but argument is of type 'long unsigned int' >> arch/mips/kernel/signal.c:851:31: warning: passing argument 1 of 'abi->setup_frame' makes pointer from integer without a cast [-Wint-conversion] 851 | ret = abi->setup_frame(land + abi->vdso->off_sigreturn, | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ | | | long unsigned int arch/mips/kernel/signal.c:851:31: note: expected 'void *' but argument is of type 'long unsigned int' arch/mips/kernel/signal.c: At top level: arch/mips/kernel/signal.c:898:17: warning: no previous prototype for 'do_notify_resume' [-Wmissing-prototypes] 898 | asmlinkage void do_notify_resume(struct pt_regs *regs, void *unused, | ^~~~~~~~~~~~~~~~ vim +848 arch/mips/kernel/signal.c 806 807 static void handle_signal(struct ksignal *ksig, struct pt_regs *regs) 808 { 809 unsigned long land = (unsigned long)current->mm->user_landing; 810 sigset_t *oldset = sigmask_to_save(); 811 int ret = 1; 812 struct mips_abi *abi = current->thread.abi; 813 814 if (land == UNMAPPED_USER_LANDING) 815 goto err; 816 /* 817 * If we were emulating a delay slot instruction, exit that frame such 818 * that addresses in the sigframe are as expected for userland and we 819 * don't have a problem if we reuse the thread's frame for an 820 * instruction within the signal handler. 821 */ 822 dsemul_thread_rollback(regs); 823 824 if (regs->regs[0]) { 825 switch(regs->regs[2]) { 826 case ERESTART_RESTARTBLOCK: 827 case ERESTARTNOHAND: 828 regs->regs[2] = EINTR; 829 break; 830 case ERESTARTSYS: 831 if (!(ksig->ka.sa.sa_flags & SA_RESTART)) { 832 regs->regs[2] = EINTR; 833 break; 834 } 835 fallthrough; 836 case ERESTARTNOINTR: 837 regs->regs[7] = regs->regs[26]; 838 regs->regs[2] = regs->regs[0]; 839 regs->cp0_epc -= 4; 840 } 841 842 regs->regs[0] = 0; /* Don't deal with this again. */ 843 } 844 845 rseq_signal_deliver(ksig, regs); 846 847 if (sig_uses_siginfo(&ksig->ka, abi)) > 848 ret = abi->setup_rt_frame(land + abi->vdso->off_rt_sigreturn, 849 ksig, regs, oldset); 850 else > 851 ret = abi->setup_frame(land + abi->vdso->off_sigreturn, 852 ksig, regs, oldset); 853 854 err: 855 signal_setup_done(ret, ksig, 0); 856 } 857 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org [-- Attachment #2: config.gz --] [-- Type: application/gzip, Size: 27618 bytes --]
next prev parent reply other threads:[~2020-11-13 9:58 UTC|newest] Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-11-08 5:17 [PATCH 00/19] Add generic user_landing tracking Dmitry Safonov 2020-11-08 5:17 ` Dmitry Safonov 2020-11-08 5:17 ` Dmitry Safonov 2020-11-08 5:17 ` [PATCH 01/19] x86/elf: Check in_x32_syscall() in compat_arch_setup_additional_pages() Dmitry Safonov 2020-11-08 5:17 ` [PATCH 02/19] elf: Move arch_setup_additional_pages() to generic elf.h Dmitry Safonov 2020-11-13 6:58 ` kernel test robot 2020-11-13 6:58 ` kernel test robot 2020-11-13 7:01 ` kernel test robot 2020-11-13 7:01 ` kernel test robot 2020-11-08 5:17 ` [PATCH 03/19] arm64: Use in_compat_task() in arch_setup_additional_pages() Dmitry Safonov 2020-11-08 5:17 ` Dmitry Safonov 2020-11-08 5:17 ` [PATCH 04/19] x86: Remove compat_arch_setup_additional_pages() Dmitry Safonov 2020-11-08 5:17 ` [PATCH 05/19] elf: " Dmitry Safonov 2020-11-08 5:17 ` [PATCH 06/19] elf/vdso: Reuse arch_setup_additional_pages() parameters Dmitry Safonov 2020-11-13 6:57 ` kernel test robot 2020-11-13 6:57 ` kernel test robot 2020-11-13 8:04 ` kernel test robot 2020-11-13 8:04 ` kernel test robot 2020-11-08 5:17 ` [PATCH 07/19] elf: Use sysinfo_ehdr in ARCH_DLINFO() Dmitry Safonov 2020-11-08 5:17 ` Dmitry Safonov 2020-11-08 5:17 ` [PATCH 08/19] arm/vdso: Remove vdso pointer from mm->context Dmitry Safonov 2020-11-08 5:17 ` [PATCH 09/19] s390/vdso: Remove vdso_base " Dmitry Safonov 2020-11-08 5:17 ` [PATCH 10/19] sparc/vdso: Remove vdso " Dmitry Safonov 2020-11-08 5:17 ` Dmitry Safonov 2020-11-08 5:17 ` [PATCH 11/19] mm/mmap: Make vm_special_mapping::mremap return void Dmitry Safonov 2020-11-08 5:17 ` [PATCH 12/19] x86/signal: Land on &frame->retcode when vdso isn't mapped Dmitry Safonov 2020-11-08 19:06 ` Andy Lutomirski 2020-11-09 1:22 ` Dmitry Safonov 2020-11-08 5:17 ` [PATCH 13/19] x86/signal: Check if vdso_image_32 is mapped before trying to land on it Dmitry Safonov 2020-11-08 5:17 ` [PATCH 14/19] mm: Add user_landing in mm_struct Dmitry Safonov 2020-11-08 19:04 ` Andy Lutomirski 2020-11-09 1:25 ` Dmitry Safonov 2020-11-08 5:17 ` [PATCH 15/19] x86/vdso: Migrate to user_landing Dmitry Safonov 2020-11-08 5:17 ` [PATCH 16/19] arm/vdso: " Dmitry Safonov 2020-11-08 5:17 ` [PATCH 17/19] arm64/vdso: Migrate compat signals " Dmitry Safonov 2020-11-08 5:17 ` [PATCH 18/19] arm64/vdso: Migrate native " Dmitry Safonov 2020-11-08 5:17 ` [PATCH 19/19] mips/vdso: Migrate " Dmitry Safonov 2020-11-13 9:58 ` kernel test robot [this message] 2020-11-13 9:58 ` kernel test robot 2020-11-08 19:07 ` [PATCH 00/19] Add generic user_landing tracking Andy Lutomirski 2020-11-08 19:07 ` Andy Lutomirski 2020-11-08 19:07 ` Andy Lutomirski 2020-11-09 1:27 ` Dmitry Safonov 2020-11-09 1:27 ` Dmitry Safonov 2020-11-09 1:27 ` Dmitry Safonov
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=202011131705.1JFCMwwl-lkp@intel.com \ --to=lkp@intel.com \ --cc=0x7f454c46@gmail.com \ --cc=akpm@linux-foundation.org \ --cc=arnd@arndb.de \ --cc=bp@alien8.de \ --cc=catalin.marinas@arm.com \ --cc=christophe.leroy@csgroup.eu \ --cc=dima@arista.com \ --cc=kbuild-all@lists.01.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=luto@kernel.org \ --cc=viro@zeniv.linux.org.uk \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.