Skip to content

Commit 77516d2

Browse files
Dan Carpenteraxboe
authored andcommitted
rsxx: Return -EFAULT if copy_to_user() fails
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 <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
1 parent 4168a8d commit 77516d2

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

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)