]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - drivers/net/wireless/prism54/isl_ioctl.c
drivers/net/wireless/prism54: Use memdup_user
[net-next-2.6.git] / drivers / net / wireless / prism54 / isl_ioctl.c
index 8d1190c0f06241c1af9f7755c5500a6f1c48b94a..236e37526d07faaf65213490c9af7f79cabbed61 100644 (file)
@@ -2751,14 +2751,9 @@ prism54_hostapd(struct net_device *ndev, struct iw_point *p)
            p->length > PRISM2_HOSTAPD_MAX_BUF_SIZE || !p->pointer)
                return -EINVAL;
 
-       param = kmalloc(p->length, GFP_KERNEL);
-       if (param == NULL)
-               return -ENOMEM;
-
-       if (copy_from_user(param, p->pointer, p->length)) {
-               kfree(param);
-               return -EFAULT;
-       }
+       param = memdup_user(p->pointer, p->length);
+       if (IS_ERR(param))
+               return PTR_ERR(param);
 
        switch (param->cmd) {
        case PRISM2_SET_ENCRYPTION: