Przeglądaj źródła

rsxx: don't open-code memdup_user()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro 9 lat temu
rodzic
commit
820351f05b
1 zmienionych plików z 4 dodań i 7 usunięć
  1. 4 7
      drivers/block/rsxx/core.c

+ 4 - 7
drivers/block/rsxx/core.c

@@ -203,14 +203,11 @@ static ssize_t rsxx_cram_write(struct file *fp, const char __user *ubuf,
 	char *buf;
 	char *buf;
 	ssize_t st;
 	ssize_t st;
 
 
-	buf = kzalloc(cnt, GFP_KERNEL);
-	if (!buf)
-		return -ENOMEM;
+	buf = memdup_user(ubuf, cnt);
+	if (IS_ERR(buf))
+		return PTR_ERR(buf);
 
 
-	st = copy_from_user(buf, ubuf, cnt);
-	if (!st)
-		st = rsxx_creg_write(card, CREG_ADD_CRAM + (u32)*ppos, cnt,
-				     buf, 1);
+	st = rsxx_creg_write(card, CREG_ADD_CRAM + (u32)*ppos, cnt, buf, 1);
 	kfree(buf);
 	kfree(buf);
 	if (st)
 	if (st)
 		return st;
 		return st;