patch-2.4.0-test8 linux/drivers/usb/rio500.c

Next file: linux/drivers/usb/serial/digi_acceleport.c
Previous file: linux/drivers/usb/plusb.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test7/linux/drivers/usb/rio500.c linux/drivers/usb/rio500.c
@@ -113,15 +113,15 @@
 		data = (void *) arg;
 		if (data == NULL)
 			break;
-		copy_from_user_ret(&rio_cmd, data, sizeof(struct RioCommand),
-				   -EFAULT);
+		if (copy_from_user(&rio_cmd, data, sizeof(struct RioCommand)))
+			return -EFAULT;
 		if (rio_cmd.length > PAGE_SIZE)
 			return -EINVAL;
 		buffer = (unsigned char *) __get_free_page(GFP_KERNEL);
 		if (buffer == NULL)
 			return -ENOMEM;
-		copy_from_user_ret(buffer, rio_cmd.buffer, rio_cmd.length,
-				   -EFAULT);
+		if (copy_from_user(buffer, rio_cmd.buffer, rio_cmd.length))
+			return -EFAULT;
 
 		requesttype = rio_cmd.requesttype | USB_DIR_IN |
 		    USB_TYPE_VENDOR | USB_RECIP_DEVICE;
@@ -150,8 +150,9 @@
 				dbg("Executed ioctl. Result = %d (data=%04x)",
 				     le32_to_cpu(result),
 				     le32_to_cpu(*((long *) buffer)));
-				copy_to_user_ret(rio_cmd.buffer, buffer,
-						 rio_cmd.length, -EFAULT);
+				if (copy_to_user(rio_cmd.buffer, buffer,
+						 rio_cmd.length))
+					return -EFAULT;
 				retries = 0;
 			}
 
@@ -170,15 +171,15 @@
 		data = (void *) arg;
 		if (data == NULL)
 			break;
-		copy_from_user_ret(&rio_cmd, data, sizeof(struct RioCommand),
-				   -EFAULT);
+		if (copy_from_user(&rio_cmd, data, sizeof(struct RioCommand)))
+			return -EFAULT;
 		if (rio_cmd.length > PAGE_SIZE)
 			return -EINVAL;
 		buffer = (unsigned char *) __get_free_page(GFP_KERNEL);
 		if (buffer == NULL)
 			return -ENOMEM;
-		copy_from_user_ret(buffer, rio_cmd.buffer, rio_cmd.length,
-				   -EFAULT);
+		if (copy_from_user(buffer, rio_cmd.buffer, rio_cmd.length))
+			return -EFAULT;
 
 		requesttype = rio_cmd.requesttype | USB_DIR_OUT |
 		    USB_TYPE_VENDOR | USB_RECIP_DEVICE;

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)