staging: vt6656: sparse fixes: iwctl_siwgenie use memcpy.
authorMalcolm Priestley <tvboxspy@gmail.com>
Mon, 13 Jan 2014 16:23:30 +0000 (16:23 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 13 Jan 2014 23:46:19 +0000 (15:46 -0800)
extra is in kernel space replace copy_from_user with
memcpy with no need to error check.

We already know that extra is valid by error checking
on wrq->length.

sparse warning
iwctl.c:1567:53: warning: incorrect type in argument 2 (different address spaces)
iwctl.c:1567:53:    expected void const [noderef] <asn:1>*from
iwctl.c:1567:53:    got char *extra

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/vt6656/iwctl.c

index 058df65..bf56877 100644 (file)
@@ -1564,10 +1564,8 @@ int iwctl_siwgenie(struct net_device *dev, struct iw_request_info *info,
                        goto out;
                }
                memset(pMgmt->abyWPAIE, 0, MAX_WPA_IE_LEN);
-               if (copy_from_user(pMgmt->abyWPAIE, extra, wrq->length)) {
-                       ret = -EFAULT;
-                       goto out;
-               }
+
+               memcpy(pMgmt->abyWPAIE, extra, wrq->length);
                pMgmt->wWPAIELen = wrq->length;
        } else {
                memset(pMgmt->abyWPAIE, 0, MAX_WPA_IE_LEN);