Re: [PATCH v11 29/40] arm64/sme: Provide Kconfig for SME
by kernel test robot
Hi Mark,
I love your patch! Perhaps something to improve:
[auto build test WARNING on dfd42facf1e4ada021b939b4e19c935dcdd55566]
url: https://github.com/0day-ci/linux/commits/Mark-Brown/arm64-sme-Initial-sup...
base: dfd42facf1e4ada021b939b4e19c935dcdd55566
config: arm64-randconfig-s032-20220207 (https://download.01.org/0day-ci/archive/20220209/202202091343.QUFckK7O-lk...)
compiler: aarch64-linux-gcc (GCC) 11.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://github.com/0day-ci/linux/commit/3c145e627affeb9240ccaebb147235e09...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Mark-Brown/arm64-sme-Initial-support-for-the-Scalable-Matrix-Extension/20220207-233825
git checkout 3c145e627affeb9240ccaebb147235e09b229b34
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arm64 SHELL=/bin/bash arch/arm64/kernel/ block/ drivers/nvme/host/ drivers/nvme/target/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> arch/arm64/kernel/signal.c:664:43: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct user_ctxs [noderef] __user *user @@ got struct user_ctxs * @@
arch/arm64/kernel/signal.c:664:43: sparse: expected struct user_ctxs [noderef] __user *user
arch/arm64/kernel/signal.c:664:43: sparse: got struct user_ctxs *
arch/arm64/kernel/signal.c:936:26: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void ( [noderef] [usertype] __user *[assigned] [usertype] sigtramp )( ... ) @@ got void * @@
arch/arm64/kernel/signal.c:936:26: sparse: expected void ( [noderef] [usertype] __user *[assigned] [usertype] sigtramp )( ... )
arch/arm64/kernel/signal.c:936:26: sparse: got void *
>> arch/arm64/kernel/signal.c:395:35: sparse: sparse: dereference of noderef expression
>> arch/arm64/kernel/signal.c:395:35: sparse: sparse: dereference of noderef expression
arch/arm64/kernel/signal.c:429:53: sparse: sparse: dereference of noderef expression
arch/arm64/kernel/signal.c:429:53: sparse: sparse: dereference of noderef expression
vim +664 arch/arm64/kernel/signal.c
47ccb02868cead3 Dave Martin 2017-06-15 621
2c020ed8d148f75 Catalin Marinas 2012-03-05 622 static int restore_sigframe(struct pt_regs *regs,
2c020ed8d148f75 Catalin Marinas 2012-03-05 623 struct rt_sigframe __user *sf)
2c020ed8d148f75 Catalin Marinas 2012-03-05 624 {
2c020ed8d148f75 Catalin Marinas 2012-03-05 625 sigset_t set;
2c020ed8d148f75 Catalin Marinas 2012-03-05 626 int i, err;
47ccb02868cead3 Dave Martin 2017-06-15 627 struct user_ctxs user;
2c020ed8d148f75 Catalin Marinas 2012-03-05 628
2c020ed8d148f75 Catalin Marinas 2012-03-05 629 err = __copy_from_user(&set, &sf->uc.uc_sigmask, sizeof(set));
2c020ed8d148f75 Catalin Marinas 2012-03-05 630 if (err == 0)
2c020ed8d148f75 Catalin Marinas 2012-03-05 631 set_current_blocked(&set);
2c020ed8d148f75 Catalin Marinas 2012-03-05 632
2c020ed8d148f75 Catalin Marinas 2012-03-05 633 for (i = 0; i < 31; i++)
2c020ed8d148f75 Catalin Marinas 2012-03-05 634 __get_user_error(regs->regs[i], &sf->uc.uc_mcontext.regs[i],
2c020ed8d148f75 Catalin Marinas 2012-03-05 635 err);
2c020ed8d148f75 Catalin Marinas 2012-03-05 636 __get_user_error(regs->sp, &sf->uc.uc_mcontext.sp, err);
2c020ed8d148f75 Catalin Marinas 2012-03-05 637 __get_user_error(regs->pc, &sf->uc.uc_mcontext.pc, err);
2c020ed8d148f75 Catalin Marinas 2012-03-05 638 __get_user_error(regs->pstate, &sf->uc.uc_mcontext.pstate, err);
2c020ed8d148f75 Catalin Marinas 2012-03-05 639
2c020ed8d148f75 Catalin Marinas 2012-03-05 640 /*
2c020ed8d148f75 Catalin Marinas 2012-03-05 641 * Avoid sys_rt_sigreturn() restarting.
2c020ed8d148f75 Catalin Marinas 2012-03-05 642 */
17c289586009281 Dave Martin 2017-08-01 643 forget_syscall(regs);
2c020ed8d148f75 Catalin Marinas 2012-03-05 644
dbd4d7ca563fd0a Mark Rutland 2016-03-01 645 err |= !valid_user_regs(®s->user_regs, current);
47ccb02868cead3 Dave Martin 2017-06-15 646 if (err == 0)
47ccb02868cead3 Dave Martin 2017-06-15 647 err = parse_user_sigframe(&user, sf);
2c020ed8d148f75 Catalin Marinas 2012-03-05 648
6d502b6ba1b267b Suzuki K Poulose 2020-01-13 649 if (err == 0 && system_supports_fpsimd()) {
8cd969d28fd2848 Dave Martin 2017-10-31 650 if (!user.fpsimd)
8cd969d28fd2848 Dave Martin 2017-10-31 651 return -EINVAL;
8cd969d28fd2848 Dave Martin 2017-10-31 652
8cd969d28fd2848 Dave Martin 2017-10-31 653 if (user.sve) {
8cd969d28fd2848 Dave Martin 2017-10-31 654 if (!system_supports_sve())
8cd969d28fd2848 Dave Martin 2017-10-31 655 return -EINVAL;
8cd969d28fd2848 Dave Martin 2017-10-31 656
8cd969d28fd2848 Dave Martin 2017-10-31 657 err = restore_sve_fpsimd_context(&user);
8cd969d28fd2848 Dave Martin 2017-10-31 658 } else {
47ccb02868cead3 Dave Martin 2017-06-15 659 err = restore_fpsimd_context(user.fpsimd);
8cd969d28fd2848 Dave Martin 2017-10-31 660 }
8cd969d28fd2848 Dave Martin 2017-10-31 661 }
2c020ed8d148f75 Catalin Marinas 2012-03-05 662
a884c063c230076 Mark Brown 2022-02-07 663 if (err == 0 && system_supports_sme() && user.za)
a884c063c230076 Mark Brown 2022-02-07 @664 err = restore_za_context(&user);
a884c063c230076 Mark Brown 2022-02-07 665
2c020ed8d148f75 Catalin Marinas 2012-03-05 666 return err;
2c020ed8d148f75 Catalin Marinas 2012-03-05 667 }
2c020ed8d148f75 Catalin Marinas 2012-03-05 668
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
7 months, 1 week