On 2/18/21 11:55 AM, kernel test robot wrote:
tree:
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: cd560d8023bf73c94d755908c8d4a0994dd1ec34
commit: bc4bf94cc2aed9192184782dbb9f884c5d6b9e82 [10767/11658] staging:wlan-ng: use
memdup_user instead of kmalloc/copy_from_user
config: i386-randconfig-s001-20210218 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.3-215-g0fb77bb6-dirty
#
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commi...
git remote add linux-next
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git fetch --no-tags linux-next master
git checkout bc4bf94cc2aed9192184782dbb9f884c5d6b9e82
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Greg, should I fix my patch?
Pritthijit Nath <pritthijit.nath at icloud.com> has already made a fix
for this warning:
http://driverdev.linuxdriverproject.org/pipermail/driverdev-devel/2021-Fe...
>
> "sparse warnings: (new ones prefixed by >>)"
>>> drivers/staging/wlan-ng/p80211netdev.c:572:33: sparse: sparse: incorrect type
in argument 1 (different address spaces) @@ expected void const [noderef] __user * @@
got char *[usertype] data @@
> drivers/staging/wlan-ng/p80211netdev.c:572:33: sparse: expected void const
[noderef] __user *
> drivers/staging/wlan-ng/p80211netdev.c:572:33: sparse: got char *[usertype]
data
>
> vim +572 drivers/staging/wlan-ng/p80211netdev.c
>
> 557
> 558 /* Test the magic, assume ifr is good if it's there */
> 559 if (req->magic != P80211_IOCTL_MAGIC) {
> 560 result = -EINVAL;
> 561 goto bail;
> 562 }
> 563
> 564 if (cmd == P80211_IFTEST) {
> 565 result = 0;
> 566 goto bail;
> 567 } else if (cmd != P80211_IFREQ) {
> 568 result = -EINVAL;
> 569 goto bail;
> 570 }
> 571
> > 572 msgbuf = memdup_user(req->data, req->len);
> 573 if (IS_ERR(msgbuf)) {
> 574 result = PTR_ERR(msgbuf);
> 575 goto bail;
> 576 }
> 577
> 578 result = p80211req_dorequest(wlandev, msgbuf);
> 579
> 580 if (result == 0) {
> 581 if (copy_to_user
> 582 ((void __user *)req->data, msgbuf, req->len)) {
> 583 result = -EFAULT;
> 584 }
> 585 }
> 586 kfree(msgbuf);
> 587
> 588 bail:
> 589 /* If allocate,copyfrom or copyto fails, return errno */
> 590 return result;
> 591 }
> 592
>
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
>
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
>