mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-11 07:30:16 +00:00
scsi: cxlflash: return -EFAULT if copy_from_user() fails
The copy_from/to_user() functions return the number of bytes remaining to be copied but we had intended to return -EFAULT here. Fixes: bc88ac47d5cb ("scsi: cxlflash: Support AFU debug") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Acked-by: Matthew R. Ochs <mrochs@linux.vnet.ibm.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
c57ec8fb7c
commit
eeac8cda2c
@ -3401,9 +3401,10 @@ static int cxlflash_afu_debug(struct cxlflash_cfg *cfg,
|
||||
if (is_write) {
|
||||
req_flags |= SISL_REQ_FLAGS_HOST_WRITE;
|
||||
|
||||
rc = copy_from_user(kbuf, ubuf, ulen);
|
||||
if (unlikely(rc))
|
||||
if (copy_from_user(kbuf, ubuf, ulen)) {
|
||||
rc = -EFAULT;
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -3431,8 +3432,10 @@ static int cxlflash_afu_debug(struct cxlflash_cfg *cfg,
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (ulen && !is_write)
|
||||
rc = copy_to_user(ubuf, kbuf, ulen);
|
||||
if (ulen && !is_write) {
|
||||
if (copy_to_user(ubuf, kbuf, ulen))
|
||||
rc = -EFAULT;
|
||||
}
|
||||
out:
|
||||
kfree(buf);
|
||||
dev_dbg(dev, "%s: returning rc=%d\n", __func__, rc);
|
||||
|
Loading…
x
Reference in New Issue
Block a user