Staging: rc2860: return -EFAULT on copy_to_user errors
authorDan Carpenter <error27@gmail.com>
Fri, 4 Jun 2010 10:39:51 +0000 (12:39 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 4 Jun 2010 20:38:58 +0000 (13:38 -0700)
copy_to_user() returns the number of bytes remaining but we want to
return a negative error code.  This is in the ioctl handler and the
error code gets passed to userspace.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/rt2860/sta_ioctl.c

index 112da7a6c417a9886b337f301f25af465797c346..6b8268d3dc75a776b190694128fcbb4f43bf342e 100644 (file)
@@ -2522,6 +2522,8 @@ int rt28xx_sta_ioctl(IN struct net_device *net_dev,
                        Status =
                            copy_to_user(erq->pointer, pAd->nickname,
                                         erq->length);
+                       if (Status)
+                               Status = -EFAULT;
                        break;
                }
        case SIOCGIWRATE:       /*get default bit rate (bps) */