Skip to content

Commit 1fba84f

Browse files
Dan Carpentergregkh
authored andcommitted
rsxx: Return -EFAULT if copy_to_user() fails
[ Upstream commit 77516d2 ] The copy_to_user() function returns the number of bytes remaining but we want to return -EFAULT to the user if it can't complete the copy. The "st" variable only holds zero on success or negative error codes on failure so the type should be int. Fixes: 36f988e ("rsxx: Adding in debugfs entries.") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Sasha Levin <sashal@kernel.org>
1 parent 77a81b1 commit 1fba84f

1 file changed

Lines changed: 5 additions & 3 deletions

File tree

drivers/block/rsxx/core.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -165,15 +165,17 @@ static ssize_t rsxx_cram_read(struct file *fp, char __user *ubuf,
165165
{
166166
struct rsxx_cardinfo *card = file_inode(fp)->i_private;
167167
char *buf;
168-
ssize_t st;
168+
int st;
169169

170170
buf = kzalloc(cnt, GFP_KERNEL);
171171
if (!buf)
172172
return -ENOMEM;
173173

174174
st = rsxx_creg_read(card, CREG_ADD_CRAM + (u32)*ppos, cnt, buf, 1);
175-
if (!st)
176-
st = copy_to_user(ubuf, buf, cnt);
175+
if (!st) {
176+
if (copy_to_user(ubuf, buf, cnt))
177+
st = -EFAULT;
178+
}
177179
kfree(buf);
178180
if (st)
179181
return st;

0 commit comments

Comments
 (0)