staging: wlan-ng: silence incorrect type in argument 1 (different address spaces)
authorAshish Kalra <eashishkalra@gmail.com>
Sat, 1 May 2021 13:52:41 +0000 (19:22 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 10 May 2021 09:19:33 +0000 (11:19 +0200)
Currently p80211knetdev_do_ioctl use type casting to req->data to prevent
sparse warning while calling memdup_user, instead of type casting it here,
its better to change data type for data inside p80211ioctl_req to include
__user.

Signed-off-by: Ashish Kalra <eashishkalra@gmail.com>
Link: https://lore.kernel.org/r/YI1dKdfBKaSh3J8v@ashish-NUC8i5BEH
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/wlan-ng/p80211ioctl.h
drivers/staging/wlan-ng/p80211netdev.c

index ed65ac5..77e8d29 100644 (file)
@@ -81,7 +81,7 @@
 
 struct p80211ioctl_req {
        char name[WLAN_DEVNAMELEN_MAX];
-       caddr_t data;
+       char __user *data;
        u32 magic;
        u16 len;
        u32 result;
index a02ae9b..6f470e7 100644 (file)
@@ -569,7 +569,7 @@ static int p80211knetdev_do_ioctl(struct net_device *dev,
                goto bail;
        }
 
-       msgbuf = memdup_user((void __user *)req->data, req->len);
+       msgbuf = memdup_user(req->data, req->len);
        if (IS_ERR(msgbuf)) {
                result = PTR_ERR(msgbuf);
                goto bail;
@@ -579,7 +579,7 @@ static int p80211knetdev_do_ioctl(struct net_device *dev,
 
        if (result == 0) {
                if (copy_to_user
-                   ((void __user *)req->data, msgbuf, req->len)) {
+                   (req->data, msgbuf, req->len)) {
                        result = -EFAULT;
                }
        }