mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-25 10:19:47 +00:00
loop: don't increment p->offset with (size_t) -EINVAL
Upon a 'transfer error block' size is set to -EINVAL, but this becomes positive since size is unsigned: p->offset still gets incremented. Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
This commit is contained in:
parent
5e18cfd04f
commit
a3941ec101
1 changed files with 1 additions and 2 deletions
|
@ -392,8 +392,7 @@ lo_splice_actor(struct pipe_inode_info *pipe, struct pipe_buffer *buf,
|
||||||
struct loop_device *lo = p->lo;
|
struct loop_device *lo = p->lo;
|
||||||
struct page *page = buf->page;
|
struct page *page = buf->page;
|
||||||
sector_t IV;
|
sector_t IV;
|
||||||
size_t size;
|
int size, ret;
|
||||||
int ret;
|
|
||||||
|
|
||||||
ret = buf->ops->confirm(pipe, buf);
|
ret = buf->ops->confirm(pipe, buf);
|
||||||
if (unlikely(ret))
|
if (unlikely(ret))
|
||||||
|
|
Loading…
Reference in a new issue