From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH 05/43] asm: x86: instrument usercopy in get_user() and __put_user_size()
Date: Wed, 15 Dec 2021 09:12:13 +0800 [thread overview]
Message-ID: <202112150931.TDelnQbm-lkp@intel.com> (raw)
In-Reply-To: <20211214162050.660953-6-glider@google.com>
[-- Attachment #1: Type: text/plain, Size: 28885 bytes --]
Hi Alexander,
I love your patch! Perhaps something to improve:
[auto build test WARNING on tip/x86/mm]
[also build test WARNING on linus/master v5.16-rc5]
[cannot apply to tip/x86/core hnaz-mm/master next-20211213]
[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/Alexander-Potapenko/Add-KernelMemorySanitizer-infrastructure/20211215-003033
base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 35fa745286ac44ee26ed100c2bd2553368ad193b
config: i386-randconfig-s002-20211214 (https://download.01.org/0day-ci/archive/20211215/202112150931.TDelnQbm-lkp(a)intel.com/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://github.com/0day-ci/linux/commit/3209eff1f0c7f4de1f9685c4692c7ad79e8f225b
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Alexander-Potapenko/Add-KernelMemorySanitizer-infrastructure/20211215-003033
git checkout 3209eff1f0c7f4de1f9685c4692c7ad79e8f225b
# save the config file to linux build tree
mkdir build_dir
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=i386 SHELL=/bin/bash arch/x86/kernel/ kernel/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
sparse warnings: (new ones prefixed by >>)
arch/x86/kernel/signal.c:359:9: sparse: sparse: cast removes address space '__user' of expression
arch/x86/kernel/signal.c:359:9: sparse: sparse: cast removes address space '__user' of expression
arch/x86/kernel/signal.c:359:9: sparse: sparse: cast removes address space '__user' of expression
arch/x86/kernel/signal.c:359:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got unsigned long long [usertype] * @@
arch/x86/kernel/signal.c:359:9: sparse: expected void const volatile [noderef] __user *ptr
arch/x86/kernel/signal.c:359:9: sparse: got unsigned long long [usertype] *
arch/x86/kernel/signal.c:359:9: sparse: sparse: cast removes address space '__user' of expression
>> arch/x86/kernel/signal.c:359:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got unsigned long long [usertype] * @@
arch/x86/kernel/signal.c:359:9: sparse: expected void [noderef] __user *to
arch/x86/kernel/signal.c:359:9: sparse: got unsigned long long [usertype] *
arch/x86/kernel/signal.c:359:9: sparse: sparse: cast removes address space '__user' of expression
arch/x86/kernel/signal.c:359:9: sparse: sparse: cast removes address space '__user' of expression
arch/x86/kernel/signal.c:359:9: sparse: sparse: cast removes address space '__user' of expression
arch/x86/kernel/signal.c:359:9: sparse: sparse: cast removes address space '__user' of expression
arch/x86/kernel/signal.c:359:9: sparse: sparse: cast removes address space '__user' of expression
arch/x86/kernel/signal.c:359:9: sparse: sparse: cast removes address space '__user' of expression
arch/x86/kernel/signal.c:359:9: sparse: sparse: cast removes address space '__user' of expression
arch/x86/kernel/signal.c:359:9: sparse: sparse: cast removes address space '__user' of expression
arch/x86/kernel/signal.c:359:9: sparse: sparse: cast removes address space '__user' of expression
arch/x86/kernel/signal.c:359:9: sparse: sparse: cast removes address space '__user' of expression
arch/x86/kernel/signal.c:419:9: sparse: sparse: cast removes address space '__user' of expression
arch/x86/kernel/signal.c:419:9: sparse: sparse: cast removes address space '__user' of expression
arch/x86/kernel/signal.c:419:9: sparse: sparse: cast removes address space '__user' of expression
arch/x86/kernel/signal.c:419:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got unsigned long long [usertype] * @@
arch/x86/kernel/signal.c:419:9: sparse: expected void const volatile [noderef] __user *ptr
arch/x86/kernel/signal.c:419:9: sparse: got unsigned long long [usertype] *
arch/x86/kernel/signal.c:419:9: sparse: sparse: cast removes address space '__user' of expression
arch/x86/kernel/signal.c:419:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got unsigned long long [usertype] * @@
arch/x86/kernel/signal.c:419:9: sparse: expected void [noderef] __user *to
arch/x86/kernel/signal.c:419:9: sparse: got unsigned long long [usertype] *
arch/x86/kernel/signal.c:419:9: sparse: sparse: cast removes address space '__user' of expression
arch/x86/kernel/signal.c:419:9: sparse: sparse: cast removes address space '__user' of expression
arch/x86/kernel/signal.c:419:9: sparse: sparse: cast removes address space '__user' of expression
arch/x86/kernel/signal.c:419:9: sparse: sparse: cast removes address space '__user' of expression
arch/x86/kernel/signal.c:419:9: sparse: sparse: cast removes address space '__user' of expression
arch/x86/kernel/signal.c:419:9: sparse: sparse: cast removes address space '__user' of expression
arch/x86/kernel/signal.c:419:9: sparse: sparse: cast removes address space '__user' of expression
arch/x86/kernel/signal.c:419:9: sparse: sparse: cast removes address space '__user' of expression
arch/x86/kernel/signal.c:419:9: sparse: sparse: cast removes address space '__user' of expression
arch/x86/kernel/signal.c:419:9: sparse: sparse: cast removes address space '__user' of expression
arch/x86/kernel/signal.c:952:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct lockdep_map const *lock @@ got struct lockdep_map [noderef] __rcu * @@
arch/x86/kernel/signal.c:952:9: sparse: expected struct lockdep_map const *lock
arch/x86/kernel/signal.c:952:9: sparse: got struct lockdep_map [noderef] __rcu *
--
kernel/signal.c: note: in included file (through arch/x86/include/uapi/asm/signal.h, arch/x86/include/asm/signal.h, include/uapi/linux/signal.h, ...):
include/uapi/asm-generic/signal-defs.h:83:29: sparse: sparse: multiple address spaces given
kernel/signal.c:195:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/signal.c:195:31: sparse: expected struct spinlock [usertype] *lock
kernel/signal.c:195:31: sparse: got struct spinlock [noderef] __rcu *
kernel/signal.c:198:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/signal.c:198:33: sparse: expected struct spinlock [usertype] *lock
kernel/signal.c:198:33: sparse: got struct spinlock [noderef] __rcu *
kernel/signal.c:480:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/signal.c:480:9: sparse: expected struct spinlock [usertype] *lock
kernel/signal.c:480:9: sparse: got struct spinlock [noderef] __rcu *
kernel/signal.c:484:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/signal.c:484:34: sparse: expected struct spinlock [usertype] *lock
kernel/signal.c:484:34: sparse: got struct spinlock [noderef] __rcu *
kernel/signal.c:517:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/signal.c:517:9: sparse: expected struct spinlock [usertype] *lock
kernel/signal.c:517:9: sparse: got struct spinlock [noderef] __rcu *
kernel/signal.c:520:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/signal.c:520:36: sparse: expected struct spinlock [usertype] *lock
kernel/signal.c:520:36: sparse: got struct spinlock [noderef] __rcu *
kernel/signal.c:542:53: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct k_sigaction *ka @@ got struct k_sigaction [noderef] __rcu * @@
kernel/signal.c:542:53: sparse: expected struct k_sigaction *ka
kernel/signal.c:542:53: sparse: got struct k_sigaction [noderef] __rcu *
include/uapi/asm-generic/signal-defs.h:83:29: sparse: sparse: multiple address spaces given
kernel/signal.c:695:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/signal.c:695:33: sparse: expected struct spinlock [usertype] *lock
kernel/signal.c:695:33: sparse: got struct spinlock [noderef] __rcu *
kernel/signal.c:697:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/signal.c:697:31: sparse: expected struct spinlock [usertype] *lock
kernel/signal.c:697:31: sparse: got struct spinlock [noderef] __rcu *
kernel/signal.c:1260:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got unsigned char * @@
kernel/signal.c:1260:29: sparse: expected void const volatile [noderef] __user *ptr
kernel/signal.c:1260:29: sparse: got unsigned char *
>> kernel/signal.c:1260:29: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got unsigned char * @@
kernel/signal.c:1260:29: sparse: expected void const [noderef] __user *from
kernel/signal.c:1260:29: sparse: got unsigned char *
>> kernel/signal.c:1260:29: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got unsigned char * @@
kernel/signal.c:1260:29: sparse: expected void const [noderef] __user *from
kernel/signal.c:1260:29: sparse: got unsigned char *
kernel/signal.c:1327:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/signal.c:1327:9: sparse: expected struct spinlock [usertype] *lock
kernel/signal.c:1327:9: sparse: got struct spinlock [noderef] __rcu *
kernel/signal.c:1328:16: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct k_sigaction *action @@ got struct k_sigaction [noderef] __rcu * @@
kernel/signal.c:1328:16: sparse: expected struct k_sigaction *action
kernel/signal.c:1328:16: sparse: got struct k_sigaction [noderef] __rcu *
kernel/signal.c:1347:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/signal.c:1347:34: sparse: expected struct spinlock [usertype] *lock
kernel/signal.c:1347:34: sparse: got struct spinlock [noderef] __rcu *
kernel/signal.c:1924:36: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/signal.c:1924:36: sparse: expected struct spinlock [usertype] *lock
kernel/signal.c:1924:36: sparse: got struct spinlock [noderef] __rcu *
kernel/signal.c:2034:44: sparse: sparse: cast removes address space '__rcu' of expression
kernel/signal.c:2053:65: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *tsk @@ got struct task_struct [noderef] __rcu *parent @@
kernel/signal.c:2053:65: sparse: expected struct task_struct *tsk
kernel/signal.c:2053:65: sparse: got struct task_struct [noderef] __rcu *parent
kernel/signal.c:2054:40: sparse: sparse: cast removes address space '__rcu' of expression
kernel/signal.c:2072:14: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sighand_struct *psig @@ got struct sighand_struct [noderef] __rcu *[noderef] __rcu sighand @@
kernel/signal.c:2072:14: sparse: expected struct sighand_struct *psig
kernel/signal.c:2072:14: sparse: got struct sighand_struct [noderef] __rcu *[noderef] __rcu sighand
kernel/signal.c:2101:46: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected struct task_struct *t @@ got struct task_struct [noderef] __rcu *parent @@
kernel/signal.c:2101:46: sparse: expected struct task_struct *t
kernel/signal.c:2101:46: sparse: got struct task_struct [noderef] __rcu *parent
kernel/signal.c:2102:34: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected struct task_struct *parent @@ got struct task_struct [noderef] __rcu *parent @@
kernel/signal.c:2102:34: sparse: expected struct task_struct *parent
kernel/signal.c:2102:34: sparse: got struct task_struct [noderef] __rcu *parent
kernel/signal.c:2131:24: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct task_struct *parent @@ got struct task_struct [noderef] __rcu *parent @@
kernel/signal.c:2131:24: sparse: expected struct task_struct *parent
kernel/signal.c:2131:24: sparse: got struct task_struct [noderef] __rcu *parent
kernel/signal.c:2134:24: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct task_struct *parent @@ got struct task_struct [noderef] __rcu *real_parent @@
kernel/signal.c:2134:24: sparse: expected struct task_struct *parent
kernel/signal.c:2134:24: sparse: got struct task_struct [noderef] __rcu *real_parent
kernel/signal.c:2167:17: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sighand_struct *sighand @@ got struct sighand_struct [noderef] __rcu *sighand @@
kernel/signal.c:2167:17: sparse: expected struct sighand_struct *sighand
kernel/signal.c:2167:17: sparse: got struct sighand_struct [noderef] __rcu *sighand
kernel/signal.c:2205:41: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/signal.c:2205:41: sparse: expected struct spinlock [usertype] *lock
kernel/signal.c:2205:41: sparse: got struct spinlock [noderef] __rcu *
kernel/signal.c:2207:39: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/signal.c:2207:39: sparse: expected struct spinlock [usertype] *lock
kernel/signal.c:2207:39: sparse: got struct spinlock [noderef] __rcu *
kernel/signal.c:2257:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/signal.c:2257:33: sparse: expected struct spinlock [usertype] *lock
kernel/signal.c:2257:33: sparse: got struct spinlock [noderef] __rcu *
kernel/signal.c:2312:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/signal.c:2312:31: sparse: expected struct spinlock [usertype] *lock
kernel/signal.c:2312:31: sparse: got struct spinlock [noderef] __rcu *
kernel/signal.c:2346:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/signal.c:2346:31: sparse: expected struct spinlock [usertype] *lock
kernel/signal.c:2346:31: sparse: got struct spinlock [noderef] __rcu *
kernel/signal.c:2348:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/signal.c:2348:33: sparse: expected struct spinlock [usertype] *lock
kernel/signal.c:2348:33: sparse: got struct spinlock [noderef] __rcu *
kernel/signal.c:2445:41: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/signal.c:2445:41: sparse: expected struct spinlock [usertype] *lock
kernel/signal.c:2445:41: sparse: got struct spinlock [noderef] __rcu *
kernel/signal.c:2530:41: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/signal.c:2530:41: sparse: expected struct spinlock [usertype] *lock
kernel/signal.c:2530:41: sparse: got struct spinlock [noderef] __rcu *
kernel/signal.c:2542:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/signal.c:2542:33: sparse: expected struct spinlock [usertype] *lock
kernel/signal.c:2542:33: sparse: got struct spinlock [noderef] __rcu *
kernel/signal.c:2580:52: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *tsk @@ got struct task_struct [noderef] __rcu *parent @@
kernel/signal.c:2580:52: sparse: expected struct task_struct *tsk
kernel/signal.c:2580:52: sparse: got struct task_struct [noderef] __rcu *parent
kernel/signal.c:2582:49: sparse: sparse: cast removes address space '__rcu' of expression
kernel/signal.c:2619:49: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct sighand_struct *sighand @@ got struct sighand_struct [noderef] __rcu *sighand @@
kernel/signal.c:2619:49: sparse: expected struct sighand_struct *sighand
kernel/signal.c:2619:49: sparse: got struct sighand_struct [noderef] __rcu *sighand
kernel/signal.c:2951:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/signal.c:2951:27: sparse: expected struct spinlock [usertype] *lock
kernel/signal.c:2951:27: sparse: got struct spinlock [noderef] __rcu *
kernel/signal.c:2971:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/signal.c:2971:29: sparse: expected struct spinlock [usertype] *lock
kernel/signal.c:2971:29: sparse: got struct spinlock [noderef] __rcu *
kernel/signal.c:3038:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/signal.c:3038:27: sparse: expected struct spinlock [usertype] *lock
kernel/signal.c:3038:27: sparse: got struct spinlock [noderef] __rcu *
kernel/signal.c:3040:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/signal.c:3040:29: sparse: expected struct spinlock [usertype] *lock
kernel/signal.c:3040:29: sparse: got struct spinlock [noderef] __rcu *
kernel/signal.c:3191:31: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/signal.c:3191:31: sparse: expected struct spinlock [usertype] *lock
kernel/signal.c:3191:31: sparse: got struct spinlock [noderef] __rcu *
kernel/signal.c:3194:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/signal.c:3194:33: sparse: expected struct spinlock [usertype] *lock
kernel/signal.c:3194:33: sparse: got struct spinlock [noderef] __rcu *
kernel/signal.c:3580:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/signal.c:3580:27: sparse: expected struct spinlock [usertype] *lock
kernel/signal.c:3580:27: sparse: got struct spinlock [noderef] __rcu *
kernel/signal.c:3592:37: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/signal.c:3592:37: sparse: expected struct spinlock [usertype] *lock
kernel/signal.c:3592:37: sparse: got struct spinlock [noderef] __rcu *
kernel/signal.c:3597:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/signal.c:3597:35: sparse: expected struct spinlock [usertype] *lock
kernel/signal.c:3597:35: sparse: got struct spinlock [noderef] __rcu *
kernel/signal.c:3602:29: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct spinlock [usertype] *lock @@ got struct spinlock [noderef] __rcu * @@
kernel/signal.c:3602:29: sparse: expected struct spinlock [usertype] *lock
vim +359 arch/x86/kernel/signal.c
75779f05264b99 arch/x86/kernel/signal.c Hiroshi Shimamoto 2009-02-27 324
7e907f48980d66 arch/x86/kernel/signal_32.c Ingo Molnar 2008-03-06 325 static int
235b80226b986d arch/x86/kernel/signal.c Al Viro 2012-11-09 326 __setup_frame(int sig, struct ksignal *ksig, sigset_t *set,
7e907f48980d66 arch/x86/kernel/signal_32.c Ingo Molnar 2008-03-06 327 struct pt_regs *regs)
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 328 {
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 329 struct sigframe __user *frame;
7e907f48980d66 arch/x86/kernel/signal_32.c Ingo Molnar 2008-03-06 330 void __user *restorer;
b00d8f8f0b2b39 arch/x86/kernel/signal.c Al Viro 2020-02-15 331 void __user *fp = NULL;
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 332
b00d8f8f0b2b39 arch/x86/kernel/signal.c Al Viro 2020-02-15 333 frame = get_sigframe(&ksig->ka, regs, sizeof(*frame), &fp);
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 334
5c1f178094631e arch/x86/kernel/signal.c Al Viro 2020-02-15 335 if (!user_access_begin(frame, sizeof(*frame)))
3d0aedd9538e6b arch/x86/kernel/signal_32.c Hiroshi Shimamoto 2008-09-12 336 return -EFAULT;
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 337
5c1f178094631e arch/x86/kernel/signal.c Al Viro 2020-02-15 338 unsafe_put_user(sig, &frame->sig, Efault);
b00d8f8f0b2b39 arch/x86/kernel/signal.c Al Viro 2020-02-15 339 unsafe_put_sigcontext(&frame->sc, fp, regs, set, Efault);
5c1f178094631e arch/x86/kernel/signal.c Al Viro 2020-02-15 340 unsafe_put_user(set->sig[1], &frame->extramask[0], Efault);
1a3e4ca41c5a38 arch/x86/kernel/signal_32.c Roland McGrath 2008-04-09 341 if (current->mm->context.vdso)
6f121e548f8367 arch/x86/kernel/signal.c Andy Lutomirski 2014-05-05 342 restorer = current->mm->context.vdso +
0a6d1fa0d2b48f arch/x86/kernel/signal.c Andy Lutomirski 2015-10-05 343 vdso_image_32.sym___kernel_sigreturn;
9fbbd4dd17d071 arch/i386/kernel/signal.c Andi Kleen 2007-02-13 344 else
ade1af77129dea arch/x86/kernel/signal_32.c Jan Engelhardt 2008-01-30 345 restorer = &frame->retcode;
235b80226b986d arch/x86/kernel/signal.c Al Viro 2012-11-09 346 if (ksig->ka.sa.sa_flags & SA_RESTORER)
235b80226b986d arch/x86/kernel/signal.c Al Viro 2012-11-09 347 restorer = ksig->ka.sa.sa_restorer;
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 348
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 349 /* Set up to return from userspace. */
5c1f178094631e arch/x86/kernel/signal.c Al Viro 2020-02-15 350 unsafe_put_user(restorer, &frame->pretcode, Efault);
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 351
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 352 /*
7e907f48980d66 arch/x86/kernel/signal_32.c Ingo Molnar 2008-03-06 353 * This is popl %eax ; movl $__NR_sigreturn, %eax ; int $0x80
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 354 *
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 355 * WE DO NOT USE IT ANY MORE! It's only left here for historical
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 356 * reasons and because gdb uses it as a signature to notice
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 357 * signal handler stack frames.
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 358 */
5c1f178094631e arch/x86/kernel/signal.c Al Viro 2020-02-15 @359 unsafe_put_user(*((u64 *)&retcode), (u64 *)frame->retcode, Efault);
5c1f178094631e arch/x86/kernel/signal.c Al Viro 2020-02-15 360 user_access_end();
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 361
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 362 /* Set up registers for signal handler */
65ea5b03499035 arch/x86/kernel/signal_32.c H. Peter Anvin 2008-01-30 363 regs->sp = (unsigned long)frame;
235b80226b986d arch/x86/kernel/signal.c Al Viro 2012-11-09 364 regs->ip = (unsigned long)ksig->ka.sa.sa_handler;
65ea5b03499035 arch/x86/kernel/signal_32.c H. Peter Anvin 2008-01-30 365 regs->ax = (unsigned long)sig;
92bc2056855b32 arch/x86/kernel/signal_32.c Harvey Harrison 2008-02-08 366 regs->dx = 0;
92bc2056855b32 arch/x86/kernel/signal_32.c Harvey Harrison 2008-02-08 367 regs->cx = 0;
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 368
65ea5b03499035 arch/x86/kernel/signal_32.c H. Peter Anvin 2008-01-30 369 regs->ds = __USER_DS;
65ea5b03499035 arch/x86/kernel/signal_32.c H. Peter Anvin 2008-01-30 370 regs->es = __USER_DS;
65ea5b03499035 arch/x86/kernel/signal_32.c H. Peter Anvin 2008-01-30 371 regs->ss = __USER_DS;
65ea5b03499035 arch/x86/kernel/signal_32.c H. Peter Anvin 2008-01-30 372 regs->cs = __USER_CS;
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 373
283828f3c19ceb arch/i386/kernel/signal.c David Howells 2006-01-18 374 return 0;
b00d8f8f0b2b39 arch/x86/kernel/signal.c Al Viro 2020-02-15 375
b00d8f8f0b2b39 arch/x86/kernel/signal.c Al Viro 2020-02-15 376 Efault:
b00d8f8f0b2b39 arch/x86/kernel/signal.c Al Viro 2020-02-15 377 user_access_end();
b00d8f8f0b2b39 arch/x86/kernel/signal.c Al Viro 2020-02-15 378 return -EFAULT;
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 379 }
^1da177e4c3f41 arch/i386/kernel/signal.c Linus Torvalds 2005-04-16 380
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
next prev parent reply other threads:[~2021-12-15 1:12 UTC|newest]
Thread overview: 89+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-14 16:20 [PATCH 00/43] Add KernelMemorySanitizer infrastructure Alexander Potapenko
2021-12-14 16:20 ` [PATCH 01/43] arch/x86: add missing include to sparsemem.h Alexander Potapenko
2021-12-14 16:20 ` [PATCH 02/43] stackdepot: reserve 5 extra bits in depot_stack_handle_t Alexander Potapenko
2021-12-14 16:20 ` [PATCH 03/43] kasan: common: adapt to the new prototype of __stack_depot_save() Alexander Potapenko
2021-12-14 16:20 ` [PATCH 04/43] instrumented.h: allow instrumenting both sides of copy_from_user() Alexander Potapenko
2021-12-14 16:20 ` [PATCH 05/43] asm: x86: instrument usercopy in get_user() and __put_user_size() Alexander Potapenko
2021-12-14 23:04 ` kernel test robot
2022-03-17 18:22 ` Alexander Potapenko
2021-12-15 1:12 ` kernel test robot [this message]
2021-12-15 2:54 ` kernel test robot
2021-12-15 14:34 ` kernel test robot
2021-12-14 16:20 ` [PATCH 06/43] asm-generic: instrument usercopy in cacheflush.h Alexander Potapenko
2021-12-15 8:22 ` kernel test robot
2021-12-15 14:13 ` kernel test robot
2021-12-14 16:20 ` [PATCH 07/43] compiler_attributes.h: add __disable_sanitizer_instrumentation Alexander Potapenko
2021-12-15 13:24 ` Mark Rutland
2021-12-15 13:33 ` Marco Elver
2021-12-14 16:20 ` [PATCH 08/43] kmsan: add ReST documentation Alexander Potapenko
2021-12-14 16:20 ` [PATCH 09/43] kmsan: introduce __no_sanitize_memory and __no_kmsan_checks Alexander Potapenko
2021-12-15 13:27 ` Mark Rutland
2022-03-18 14:01 ` Alexander Potapenko
2021-12-14 16:20 ` [PATCH 10/43] kmsan: pgtable: reduce vmalloc space Alexander Potapenko
2021-12-15 13:36 ` Mark Rutland
2022-03-18 14:14 ` Alexander Potapenko
2021-12-14 16:20 ` [PATCH 11/43] libnvdimm/pfn_dev: increase MAX_STRUCT_PAGE_SIZE Alexander Potapenko
2021-12-14 16:20 ` [PATCH 12/43] kcsan: clang: retire CONFIG_KCSAN_KCOV_BROKEN Alexander Potapenko
2021-12-15 13:33 ` Mark Rutland
2021-12-15 13:39 ` Marco Elver
2021-12-15 14:43 ` Mark Rutland
2022-03-18 14:34 ` Alexander Potapenko
2021-12-14 16:20 ` [PATCH 13/43] kmsan: add KMSAN runtime core Alexander Potapenko
2021-12-14 16:34 ` Greg Kroah-Hartman
2021-12-16 10:33 ` Alexander Potapenko
2021-12-17 16:22 ` Greg Kroah-Hartman
2022-03-21 14:12 ` Alexander Potapenko
2021-12-14 22:23 ` kernel test robot
2021-12-14 22:23 ` kernel test robot
2022-01-03 16:27 ` Dmitry Vyukov
2022-03-21 13:17 ` Alexander Potapenko
2021-12-14 16:20 ` [PATCH 14/43] MAINTAINERS: add entry for KMSAN Alexander Potapenko
2021-12-14 16:20 ` [PATCH 15/43] kmsan: mm: maintain KMSAN metadata for page operations Alexander Potapenko
2021-12-14 16:20 ` [PATCH 16/43] kmsan: mm: call KMSAN hooks from SLUB code Alexander Potapenko
2022-01-07 17:22 ` Vlastimil Babka
2022-03-25 13:15 ` Alexander Potapenko
2021-12-14 16:20 ` [PATCH 17/43] kmsan: handle task creation and exiting Alexander Potapenko
2021-12-14 16:20 ` [PATCH 18/43] kmsan: unpoison @tlb in arch_tlb_gather_mmu() Alexander Potapenko
2021-12-14 16:20 ` [PATCH 19/43] kmsan: init: call KMSAN initialization routines Alexander Potapenko
2021-12-14 16:20 ` [PATCH 20/43] instrumented.h: add KMSAN support Alexander Potapenko
2021-12-15 10:05 ` kernel test robot
2021-12-14 16:20 ` [PATCH 21/43] kmsan: mark noinstr as __no_sanitize_memory Alexander Potapenko
2021-12-15 13:49 ` Mark Rutland
2021-12-14 16:20 ` [PATCH 22/43] kmsan: initialize the output of READ_ONCE_NOCHECK() Alexander Potapenko
2021-12-14 16:20 ` [PATCH 23/43] kmsan: make READ_ONCE_TASK_STACK() return initialized values Alexander Potapenko
2021-12-14 16:20 ` [PATCH 24/43] kmsan: disable KMSAN instrumentation for certain kernel parts Alexander Potapenko
2021-12-15 13:53 ` Mark Rutland
2021-12-14 16:20 ` [PATCH 25/43] kmsan: skip shadow checks in files doing context switches Alexander Potapenko
2021-12-15 14:13 ` Mark Rutland
2021-12-15 16:28 ` Alexander Potapenko
2021-12-15 17:22 ` Mark Rutland
2021-12-14 16:20 ` [PATCH 26/43] kmsan: virtio: check/unpoison scatterlist in vring_map_one_sg() Alexander Potapenko
2022-01-06 12:46 ` Michael S. Tsirkin
2021-12-14 16:20 ` [PATCH 27/43] x86: kmsan: add iomem support Alexander Potapenko
2021-12-14 16:20 ` [PATCH 28/43] kmsan: dma: unpoison DMA mappings Alexander Potapenko
2021-12-14 16:20 ` [PATCH 29/43] kmsan: handle memory sent to/from USB Alexander Potapenko
2021-12-14 16:20 ` [PATCH 30/43] kmsan: add tests for KMSAN Alexander Potapenko
2021-12-14 16:20 ` [PATCH 31/43] kmsan: disable strscpy() optimization under KMSAN Alexander Potapenko
2021-12-14 16:20 ` [PATCH 32/43] crypto: kmsan: disable accelerated configs " Alexander Potapenko
2021-12-14 16:20 ` [PATCH 33/43] kmsan: disable physical page merging in biovec Alexander Potapenko
2021-12-15 14:17 ` Mark Rutland
2021-12-15 16:30 ` Alexander Potapenko
2021-12-14 16:20 ` [PATCH 34/43] kmsan: block: skip bio block merging logic for KMSAN Alexander Potapenko
2021-12-14 16:20 ` [PATCH 35/43] x86: kmsan: use __msan_ string functions where possible Alexander Potapenko
2021-12-14 16:20 ` [PATCH 36/43] x86: kmsan: sync metadata pages on page fault Alexander Potapenko
2021-12-14 22:43 ` kernel test robot
2021-12-14 22:43 ` kernel test robot
2021-12-14 16:20 ` [PATCH 37/43] x86: kasan: kmsan: support CONFIG_GENERIC_CSUM on x86, enable it for KASAN/KMSAN Alexander Potapenko
2021-12-14 16:20 ` [PATCH 38/43] x86: fs: kmsan: disable CONFIG_DCACHE_WORD_ACCESS Alexander Potapenko
2021-12-14 16:20 ` [PATCH 39/43] x86: kmsan: handle register passing from uninstrumented code Alexander Potapenko
2021-12-17 21:51 ` Thomas Gleixner
2021-12-20 14:35 ` Alexander Potapenko
2021-12-14 16:20 ` [PATCH 40/43] kmsan: kcov: unpoison area->list in kcov_remote_area_put() Alexander Potapenko
2021-12-14 16:20 ` [PATCH 41/43] security: kmsan: fix interoperability with auto-initialization Alexander Potapenko
2021-12-14 16:38 ` Greg Kroah-Hartman
2021-12-14 17:00 ` Alexander Potapenko
2021-12-14 17:33 ` Greg Kroah-Hartman
2021-12-14 16:20 ` [PATCH 42/43] objtool: kmsan: list KMSAN API functions as uaccess-safe Alexander Potapenko
2021-12-14 16:20 ` [PATCH 43/43] x86: kmsan: enable KMSAN builds for x86 Alexander Potapenko
2021-12-14 16:36 ` [PATCH 00/43] Add KernelMemorySanitizer infrastructure Greg Kroah-Hartman
2021-12-16 10:12 ` Alexander Potapenko
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=202112150931.TDelnQbm-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.org \
/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: link
Be 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.