mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* arch/x86/ia32/ia32_signal.c:350:9: sparse: sparse: cast removes address space '<asn:1>' of expression
@ 2020-06-02  8:35 kbuild test robot
  0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2020-06-02  8:35 UTC (permalink / raw)
  To: Al, Viro,; +Cc: kbuild-all, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 8547 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   3d77e6a8804abcc0504c904bd6e5cdf3a5cf8162
commit: 57d563c8292569f2849569853e846bf740df5032 x86: ia32_setup_rt_frame(): consolidate uaccess areas
date:   10 weeks ago
:::::: branch date: 9 hours ago
:::::: commit date: 10 weeks ago
config: x86_64-randconfig-s021-20200601 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-13) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.1-243-gc100a7ab-dirty
        git checkout 57d563c8292569f2849569853e846bf740df5032
        # save the attached .config to linux build tree
        make W=1 C=1 ARCH=x86_64 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@intel.com>


sparse warnings: (new ones prefixed by >>)

>> arch/x86/ia32/ia32_signal.c:350:9: sparse: sparse: cast removes address space '<asn:1>' of expression
   arch/x86/ia32/ia32_signal.c:350:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void const volatile [noderef] <asn:1> * @@     got unsigned long long [usertype] * @@
   arch/x86/ia32/ia32_signal.c:350:9: sparse:     expected void const volatile [noderef] <asn:1> *
   arch/x86/ia32/ia32_signal.c:350:9: sparse:     got unsigned long long [usertype] *
>> arch/x86/ia32/ia32_signal.c:350:9: sparse: sparse: cast removes address space '<asn:1>' of expression
>> arch/x86/ia32/ia32_signal.c:350:9: sparse: sparse: cast removes address space '<asn:1>' of expression
>> arch/x86/ia32/ia32_signal.c:350:9: sparse: sparse: cast removes address space '<asn:1>' of expression
>> arch/x86/ia32/ia32_signal.c:350:9: sparse: sparse: cast removes address space '<asn:1>' of expression
>> arch/x86/ia32/ia32_signal.c:350:9: sparse: sparse: cast removes address space '<asn:1>' of expression
>> arch/x86/ia32/ia32_signal.c:350:9: sparse: sparse: cast removes address space '<asn:1>' of expression
>> arch/x86/ia32/ia32_signal.c:350:9: sparse: sparse: cast removes address space '<asn:1>' of expression
>> arch/x86/ia32/ia32_signal.c:350:9: sparse: sparse: cast removes address space '<asn:1>' of expression
>> arch/x86/ia32/ia32_signal.c:350:9: sparse: sparse: cast removes address space '<asn:1>' of expression

# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=57d563c8292569f2849569853e846bf740df5032
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git remote update linus
git checkout 57d563c8292569f2849569853e846bf740df5032
vim +350 arch/x86/ia32/ia32_signal.c

^1da177e4c3f41 arch/x86_64/ia32/ia32_signal.c Linus Torvalds    2005-04-16  299  
235b80226b986d arch/x86/ia32/ia32_signal.c    Al Viro           2012-11-09  300  int ia32_setup_rt_frame(int sig, struct ksignal *ksig,
^1da177e4c3f41 arch/x86_64/ia32/ia32_signal.c Linus Torvalds    2005-04-16  301  			compat_sigset_t *set, struct pt_regs *regs)
^1da177e4c3f41 arch/x86_64/ia32/ia32_signal.c Linus Torvalds    2005-04-16  302  {
3b0d29ee1c73b6 arch/x86/ia32/ia32_signal.c    Hiroshi Shimamoto 2008-12-17  303  	struct rt_sigframe_ia32 __user *frame;
af65d64845a90c arch/x86/ia32/ia32_signal.c    Roland McGrath    2008-01-30  304  	void __user *restorer;
44a1d996325982 arch/x86/ia32/ia32_signal.c    Al Viro           2020-02-15  305  	void __user *fp = NULL;
^1da177e4c3f41 arch/x86_64/ia32/ia32_signal.c Linus Torvalds    2005-04-16  306  
57d563c8292569 arch/x86/ia32/ia32_signal.c    Al Viro           2020-02-15  307  	/* unsafe_put_user optimizes that into a single 8 byte store */
99b9cdf758af70 arch/x86/ia32/ia32_signal.c    Thomas Gleixner   2008-01-30  308  	static const struct {
99b9cdf758af70 arch/x86/ia32/ia32_signal.c    Thomas Gleixner   2008-01-30  309  		u8 movl;
99b9cdf758af70 arch/x86/ia32/ia32_signal.c    Thomas Gleixner   2008-01-30  310  		u32 val;
99b9cdf758af70 arch/x86/ia32/ia32_signal.c    Thomas Gleixner   2008-01-30  311  		u16 int80;
9cc3c49ed1b1db arch/x86/ia32/ia32_signal.c    Hiroshi Shimamoto 2008-11-11  312  		u8  pad;
99b9cdf758af70 arch/x86/ia32/ia32_signal.c    Thomas Gleixner   2008-01-30  313  	} __attribute__((packed)) code = {
99b9cdf758af70 arch/x86/ia32/ia32_signal.c    Thomas Gleixner   2008-01-30  314  		0xb8,
99b9cdf758af70 arch/x86/ia32/ia32_signal.c    Thomas Gleixner   2008-01-30  315  		__NR_ia32_rt_sigreturn,
99b9cdf758af70 arch/x86/ia32/ia32_signal.c    Thomas Gleixner   2008-01-30  316  		0x80cd,
99b9cdf758af70 arch/x86/ia32/ia32_signal.c    Thomas Gleixner   2008-01-30  317  		0,
99b9cdf758af70 arch/x86/ia32/ia32_signal.c    Thomas Gleixner   2008-01-30  318  	};
99b9cdf758af70 arch/x86/ia32/ia32_signal.c    Thomas Gleixner   2008-01-30  319  
44a1d996325982 arch/x86/ia32/ia32_signal.c    Al Viro           2020-02-15  320  	frame = get_sigframe(ksig, regs, sizeof(*frame), &fp);
^1da177e4c3f41 arch/x86_64/ia32/ia32_signal.c Linus Torvalds    2005-04-16  321  
39f16c1c0f14e9 arch/x86/ia32/ia32_signal.c    Al Viro           2020-02-15  322  	if (!user_access_begin(frame, sizeof(*frame)))
3d0aedd9538e6b arch/x86/ia32/ia32_signal.c    Hiroshi Shimamoto 2008-09-12  323  		return -EFAULT;
^1da177e4c3f41 arch/x86_64/ia32/ia32_signal.c Linus Torvalds    2005-04-16  324  
39f16c1c0f14e9 arch/x86/ia32/ia32_signal.c    Al Viro           2020-02-15  325  	unsafe_put_user(sig, &frame->sig, Efault);
39f16c1c0f14e9 arch/x86/ia32/ia32_signal.c    Al Viro           2020-02-15  326  	unsafe_put_user(ptr_to_compat(&frame->info), &frame->pinfo, Efault);
39f16c1c0f14e9 arch/x86/ia32/ia32_signal.c    Al Viro           2020-02-15  327  	unsafe_put_user(ptr_to_compat(&frame->uc), &frame->puc, Efault);
^1da177e4c3f41 arch/x86_64/ia32/ia32_signal.c Linus Torvalds    2005-04-16  328  
^1da177e4c3f41 arch/x86_64/ia32/ia32_signal.c Linus Torvalds    2005-04-16  329  	/* Create the ucontext.  */
ff661350157266 arch/x86/ia32/ia32_signal.c    Marco Elver       2019-07-11  330  	if (static_cpu_has(X86_FEATURE_XSAVE))
39f16c1c0f14e9 arch/x86/ia32/ia32_signal.c    Al Viro           2020-02-15  331  		unsafe_put_user(UC_FP_XSTATE, &frame->uc.uc_flags, Efault);
c37b5efea43f9e arch/x86/ia32/ia32_signal.c    Suresh Siddha     2008-07-29  332  	else
39f16c1c0f14e9 arch/x86/ia32/ia32_signal.c    Al Viro           2020-02-15  333  		unsafe_put_user(0, &frame->uc.uc_flags, Efault);
39f16c1c0f14e9 arch/x86/ia32/ia32_signal.c    Al Viro           2020-02-15  334  	unsafe_put_user(0, &frame->uc.uc_link, Efault);
39f16c1c0f14e9 arch/x86/ia32/ia32_signal.c    Al Viro           2020-02-15  335  	unsafe_compat_save_altstack(&frame->uc.uc_stack, regs->sp, Efault);
^1da177e4c3f41 arch/x86_64/ia32/ia32_signal.c Linus Torvalds    2005-04-16  336  
235b80226b986d arch/x86/ia32/ia32_signal.c    Al Viro           2012-11-09  337  	if (ksig->ka.sa.sa_flags & SA_RESTORER)
235b80226b986d arch/x86/ia32/ia32_signal.c    Al Viro           2012-11-09  338  		restorer = ksig->ka.sa.sa_restorer;
af65d64845a90c arch/x86/ia32/ia32_signal.c    Roland McGrath    2008-01-30  339  	else
6f121e548f8367 arch/x86/ia32/ia32_signal.c    Andy Lutomirski   2014-05-05  340  		restorer = current->mm->context.vdso +
0a6d1fa0d2b48f arch/x86/ia32/ia32_signal.c    Andy Lutomirski   2015-10-05  341  			vdso_image_32.sym___kernel_rt_sigreturn;
39f16c1c0f14e9 arch/x86/ia32/ia32_signal.c    Al Viro           2020-02-15  342  	unsafe_put_user(ptr_to_compat(restorer), &frame->pretcode, Efault);
^1da177e4c3f41 arch/x86_64/ia32/ia32_signal.c Linus Torvalds    2005-04-16  343  
99b9cdf758af70 arch/x86/ia32/ia32_signal.c    Thomas Gleixner   2008-01-30  344  	/*
99b9cdf758af70 arch/x86/ia32/ia32_signal.c    Thomas Gleixner   2008-01-30  345  	 * Not actually used anymore, but left because some gdb
99b9cdf758af70 arch/x86/ia32/ia32_signal.c    Thomas Gleixner   2008-01-30  346  	 * versions need it.
99b9cdf758af70 arch/x86/ia32/ia32_signal.c    Thomas Gleixner   2008-01-30  347  	 */
39f16c1c0f14e9 arch/x86/ia32/ia32_signal.c    Al Viro           2020-02-15  348  	unsafe_put_user(*((u64 *)&code), (u64 __user *)frame->retcode, Efault);
44a1d996325982 arch/x86/ia32/ia32_signal.c    Al Viro           2020-02-15  349  	unsafe_put_sigcontext32(&frame->uc.uc_mcontext, fp, regs, set, Efault);
57d563c8292569 arch/x86/ia32/ia32_signal.c    Al Viro           2020-02-15 @350  	unsafe_put_user(*(__u64 *)set, (__u64 *)&frame->uc.uc_sigmask, Efault);

---
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: 31339 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-06-02  8:23 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-02  8:35 arch/x86/ia32/ia32_signal.c:350:9: sparse: sparse: cast removes address space '<asn:1>' of expression kbuild test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®