mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-05 16:37:50 +00:00
xen/xenbus: fix return type in xenbus_file_read()
commit32ad11127b
upstream. This code tries to store -EFAULT in an unsigned int. The xenbus_file_read() function returns type ssize_t so the negative value is returned as a positive value to the user. This change forces another change to the min() macro. Originally, the min() macro used "unsigned" type which checkpatch complains about. Also unsigned type would break if "len" were not capped at MAX_RW_COUNT. Use size_t for the min(). (No effect on runtime for the min_t() change). Fixes:2fb3683e7b
("xen: Add xenbus device driver") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com> Link: https://lore.kernel.org/r/YutxJUaUYRG/VLVc@kili Signed-off-by: Juergen Gross <jgross@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
e288d0c5a0
commit
a97a92374a
1 changed files with 2 additions and 2 deletions
|
@ -125,7 +125,7 @@ static ssize_t xenbus_file_read(struct file *filp,
|
||||||
{
|
{
|
||||||
struct xenbus_file_priv *u = filp->private_data;
|
struct xenbus_file_priv *u = filp->private_data;
|
||||||
struct read_buffer *rb;
|
struct read_buffer *rb;
|
||||||
unsigned i;
|
ssize_t i;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
mutex_lock(&u->reply_mutex);
|
mutex_lock(&u->reply_mutex);
|
||||||
|
@ -145,7 +145,7 @@ static ssize_t xenbus_file_read(struct file *filp,
|
||||||
rb = list_entry(u->read_buffers.next, struct read_buffer, list);
|
rb = list_entry(u->read_buffers.next, struct read_buffer, list);
|
||||||
i = 0;
|
i = 0;
|
||||||
while (i < len) {
|
while (i < len) {
|
||||||
unsigned sz = min((unsigned)len - i, rb->len - rb->cons);
|
size_t sz = min_t(size_t, len - i, rb->len - rb->cons);
|
||||||
|
|
||||||
ret = copy_to_user(ubuf + i, &rb->msg[rb->cons], sz);
|
ret = copy_to_user(ubuf + i, &rb->msg[rb->cons], sz);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue