From: kernel test robot <lkp@intel.com>
To: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>,
Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org,
Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Subject: Re: [PATCH] sparse: use static inline for __chk_{user,io}_ptr()
Date: Fri, 28 Aug 2020 19:37:50 +0800 [thread overview]
Message-ID: <202008281918.2rxxINLK%lkp@intel.com> (raw)
In-Reply-To: <20200828085301.78423-1-luc.vanoostenryck@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 6388 bytes --]
Hi Luc,
I love your patch! Perhaps something to improve:
[auto build test WARNING on 9123e3a74ec7b934a4a099e98af6a61c2f80bbf5]
url: https://github.com/0day-ci/linux/commits/Luc-Van-Oostenryck/sparse-use-static-inline-for-__chk_-user-io-_ptr/20200828-165431
base: 9123e3a74ec7b934a4a099e98af6a61c2f80bbf5
config: arc-randconfig-s031-20200828 (attached as .config)
compiler: arceb-elf-gcc (GCC) 9.3.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.2-191-g10164920-dirty
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=arc
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/arc/kernel/process.c:70:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int *uaddr @@
>> arch/arc/kernel/process.c:70:15: sparse: expected void const volatile [noderef] __user *ptr
arch/arc/kernel/process.c:70:15: sparse: got int *uaddr
arch/arc/kernel/process.c:77:15: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int *uaddr @@
arch/arc/kernel/process.c:77:15: sparse: expected void const volatile [noderef] __user *ptr
arch/arc/kernel/process.c:77:15: sparse: got int *uaddr
# https://github.com/0day-ci/linux/commit/7d01c91ac34a64f0177bc6d058cc50e805f59102
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Luc-Van-Oostenryck/sparse-use-static-inline-for-__chk_-user-io-_ptr/20200828-165431
git checkout 7d01c91ac34a64f0177bc6d058cc50e805f59102
vim +70 arch/arc/kernel/process.c
bf90e1eab682dcb Vineet Gupta 2013-01-18 45
91e040a79df73d3 Vineet Gupta 2016-10-20 46 SYSCALL_DEFINE3(arc_usr_cmpxchg, int *, uaddr, int, expected, int, new)
91e040a79df73d3 Vineet Gupta 2016-10-20 47 {
e6e335bf3a400bc Vineet Gupta 2016-11-07 48 struct pt_regs *regs = current_pt_regs();
e8708786d4fe21c Peter Zijlstra 2018-06-19 49 u32 uval;
e8708786d4fe21c Peter Zijlstra 2018-06-19 50 int ret;
91e040a79df73d3 Vineet Gupta 2016-10-20 51
91e040a79df73d3 Vineet Gupta 2016-10-20 52 /*
91e040a79df73d3 Vineet Gupta 2016-10-20 53 * This is only for old cores lacking LLOCK/SCOND, which by defintion
91e040a79df73d3 Vineet Gupta 2016-10-20 54 * can't possibly be SMP. Thus doesn't need to be SMP safe.
91e040a79df73d3 Vineet Gupta 2016-10-20 55 * And this also helps reduce the overhead for serializing in
91e040a79df73d3 Vineet Gupta 2016-10-20 56 * the UP case
91e040a79df73d3 Vineet Gupta 2016-10-20 57 */
91e040a79df73d3 Vineet Gupta 2016-10-20 58 WARN_ON_ONCE(IS_ENABLED(CONFIG_SMP));
91e040a79df73d3 Vineet Gupta 2016-10-20 59
e6e335bf3a400bc Vineet Gupta 2016-11-07 60 /* Z indicates to userspace if operation succeded */
e6e335bf3a400bc Vineet Gupta 2016-11-07 61 regs->status32 &= ~STATUS_Z_MASK;
e6e335bf3a400bc Vineet Gupta 2016-11-07 62
96d4f267e40f950 Linus Torvalds 2019-01-03 63 ret = access_ok(uaddr, sizeof(*uaddr));
e8708786d4fe21c Peter Zijlstra 2018-06-19 64 if (!ret)
e8708786d4fe21c Peter Zijlstra 2018-06-19 65 goto fail;
91e040a79df73d3 Vineet Gupta 2016-10-20 66
e8708786d4fe21c Peter Zijlstra 2018-06-19 67 again:
91e040a79df73d3 Vineet Gupta 2016-10-20 68 preempt_disable();
91e040a79df73d3 Vineet Gupta 2016-10-20 69
e8708786d4fe21c Peter Zijlstra 2018-06-19 @70 ret = __get_user(uval, uaddr);
e8708786d4fe21c Peter Zijlstra 2018-06-19 71 if (ret)
e8708786d4fe21c Peter Zijlstra 2018-06-19 72 goto fault;
e8708786d4fe21c Peter Zijlstra 2018-06-19 73
e8708786d4fe21c Peter Zijlstra 2018-06-19 74 if (uval != expected)
e8708786d4fe21c Peter Zijlstra 2018-06-19 75 goto out;
e8708786d4fe21c Peter Zijlstra 2018-06-19 76
e8708786d4fe21c Peter Zijlstra 2018-06-19 77 ret = __put_user(new, uaddr);
e8708786d4fe21c Peter Zijlstra 2018-06-19 78 if (ret)
e8708786d4fe21c Peter Zijlstra 2018-06-19 79 goto fault;
91e040a79df73d3 Vineet Gupta 2016-10-20 80
e6e335bf3a400bc Vineet Gupta 2016-11-07 81 regs->status32 |= STATUS_Z_MASK;
91e040a79df73d3 Vineet Gupta 2016-10-20 82
e8708786d4fe21c Peter Zijlstra 2018-06-19 83 out:
91e040a79df73d3 Vineet Gupta 2016-10-20 84 preempt_enable();
e6e335bf3a400bc Vineet Gupta 2016-11-07 85 return uval;
e8708786d4fe21c Peter Zijlstra 2018-06-19 86
e8708786d4fe21c Peter Zijlstra 2018-06-19 87 fault:
e8708786d4fe21c Peter Zijlstra 2018-06-19 88 preempt_enable();
e8708786d4fe21c Peter Zijlstra 2018-06-19 89
e8708786d4fe21c Peter Zijlstra 2018-06-19 90 if (unlikely(ret != -EFAULT))
e8708786d4fe21c Peter Zijlstra 2018-06-19 91 goto fail;
e8708786d4fe21c Peter Zijlstra 2018-06-19 92
d8ed45c5dcd455f Michel Lespinasse 2020-06-08 93 mmap_read_lock(current->mm);
64019a2e467a288 Peter Xu 2020-08-11 94 ret = fixup_user_fault(current->mm, (unsigned long) uaddr,
e8708786d4fe21c Peter Zijlstra 2018-06-19 95 FAULT_FLAG_WRITE, NULL);
d8ed45c5dcd455f Michel Lespinasse 2020-06-08 96 mmap_read_unlock(current->mm);
e8708786d4fe21c Peter Zijlstra 2018-06-19 97
e8708786d4fe21c Peter Zijlstra 2018-06-19 98 if (likely(!ret))
e8708786d4fe21c Peter Zijlstra 2018-06-19 99 goto again;
e8708786d4fe21c Peter Zijlstra 2018-06-19 100
e8708786d4fe21c Peter Zijlstra 2018-06-19 101 fail:
3cf5d076fb4d489 Eric W. Biederman 2019-05-23 102 force_sig(SIGSEGV);
e8708786d4fe21c Peter Zijlstra 2018-06-19 103 return ret;
91e040a79df73d3 Vineet Gupta 2016-10-20 104 }
91e040a79df73d3 Vineet Gupta 2016-10-20 105
---
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: 30133 bytes --]
next prev parent reply other threads:[~2020-08-28 11:57 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-28 8:53 Luc Van Oostenryck
2020-08-28 11:15 ` kernel test robot
2020-08-28 11:37 ` kernel test robot [this message]
2020-08-28 12:20 ` kernel test robot
2020-08-28 14:21 ` kernel test robot
2020-08-28 15:11 ` kernel test robot
2020-08-28 19:04 ` Miguel Ojeda
2020-08-28 20:15 ` Luc Van Oostenryck
2020-08-29 7:33 ` Miguel Ojeda
-- strict thread matches above, loose matches on Subject: below --
2020-06-28 7:20 Luc Van Oostenryck
2020-06-29 17:12 ` kernel test robot
2020-06-29 18:08 ` kernel test robot
2020-06-29 18:37 ` Luc Van Oostenryck
2020-07-01 18:35 ` kernel test robot
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=202008281918.2rxxINLK%lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.org \
--cc=linux-kernel@vger.kernel.org \
--cc=luc.vanoostenryck@gmail.com \
--cc=miguel.ojeda.sandonis@gmail.com \
/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 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®