From dffa01d5e724bf96909f9600eb85fdcf0cef27b8 Mon Sep 17 00:00:00 2001 From: Julia Lawall Date: Tue, 10 Aug 2010 18:01:27 -0700 Subject: [PATCH] --- yaml --- r: 208415 b: refs/heads/master c: 3094141c6532a4f748425c21c091001f218da8ae h: refs/heads/master i: 208413: 8835d6d689adf9bb039f93daca94f895ac1ff478 208411: e9dbdc0b497d28ccdc7254defc0f25836c678939 208407: ec836bc5057af11d9cc46b351e3743a24e18a36a 208399: 85a65edb69df8607e066708c7fdf47f874bf83ed 208383: 1622465fa44717400f58c49909e6e38008e03648 v: v3 --- [refs] | 2 +- trunk/drivers/scsi/sg.c | 11 +++-------- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/[refs] b/[refs] index 16eefe8ab425..12cf91564162 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a737b88df8d0b4476ae53daaa6db137df0541203 +refs/heads/master: 3094141c6532a4f748425c21c091001f218da8ae diff --git a/trunk/drivers/scsi/sg.c b/trunk/drivers/scsi/sg.c index 2968c6b83ddb..78d616315d8e 100644 --- a/trunk/drivers/scsi/sg.c +++ b/trunk/drivers/scsi/sg.c @@ -1686,14 +1686,9 @@ static int sg_start_req(Sg_request *srp, unsigned char *cmd) int len, size = sizeof(struct sg_iovec) * iov_count; struct iovec *iov; - iov = kmalloc(size, GFP_ATOMIC); - if (!iov) - return -ENOMEM; - - if (copy_from_user(iov, hp->dxferp, size)) { - kfree(iov); - return -EFAULT; - } + iov = memdup_user(hp->dxferp, size); + if (IS_ERR(iov)) + return PTR_ERR(iov); len = iov_length(iov, iov_count); if (hp->dxfer_len < len) {