hpsa: fix bad -ENOMEM return value in hpsa_big_passthru_ioctl
authorStephen M. Cameron <scameron@beardog.cce.hp.com>
Thu, 3 Jul 2014 15:18:03 +0000 (10:18 -0500)
committerBen Hutchings <ben@decadent.org.uk>
Sat, 13 Sep 2014 22:41:39 +0000 (23:41 +0100)
commit 0758f4f732b08b6ef07f2e5f735655cf69fea477 upstream.

When copy_from_user fails, return -EFAULT, not -ENOMEM

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Reported-by: Robert Elliott <elliott@hp.com>
Reviewed-by: Joe Handzik <joseph.t.handzik@hp.com>
Reviewed-by: Scott Teel <scott.teel@hp.com>
Reviewed by: Mike MIller <michael.miller@canonical.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/scsi/hpsa.c

index 5b7e1bf..603a2cb 100644 (file)
@@ -2769,7 +2769,7 @@ static int hpsa_big_passthru_ioctl(struct ctlr_info *h, void __user *argp)
                }
                if (ioc->Request.Type.Direction == XFER_WRITE) {
                        if (copy_from_user(buff[sg_used], data_ptr, sz)) {
-                               status = -ENOMEM;
+                               status = -EFAULT;
                                goto cleanup1;
                        }
                } else