]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - drivers/net/wireless/prism54/isl_ioctl.c
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
[net-next-2.6.git] / drivers / net / wireless / prism54 / isl_ioctl.c
index 13730a807002ae9f32fd833aa7e9c6f938ee9219..912fdc022d080d7c9669b76aa94c0249033c09f9 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: