lkml.org 
[lkml]   [2020]   [Nov]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 19/19] mips/vdso: Migrate to user_landing
    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
    [unhandled content-type:application/gzip]
    \
     
     \ /
      Last update: 2020-11-13 10:59    [W:4.749 / U:0.100 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site