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@xxxxxxxxx> --- drivers/staging/vt6656/iwctl.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/staging/vt6656/iwctl.c b/drivers/staging/vt6656/iwctl.c index 058df65..bf56877 100644 --- a/drivers/staging/vt6656/iwctl.c +++ b/drivers/staging/vt6656/iwctl.c @@ -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); -- 1.8.5.2 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html