From: zhang jiao The return value of copy_from_iter and copy_to_iter can't be negative, check whether the copied lengths are equal. Signed-off-by: zhang jiao --- io_uring/mock_file.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/io_uring/mock_file.c b/io_uring/mock_file.c index 45d3735b2708..bdbb1bd8e2c8 100644 --- a/io_uring/mock_file.c +++ b/io_uring/mock_file.c @@ -42,7 +42,7 @@ static int io_copy_regbuf(struct iov_iter *reg_iter, void __user *ubuf) if (iov_iter_rw(reg_iter) == ITER_SOURCE) { ret = copy_from_iter(tmp_buf, len, reg_iter); - if (ret <= 0) + if (ret != len) break; if (copy_to_user(ubuf, tmp_buf, ret)) break; @@ -50,7 +50,7 @@ static int io_copy_regbuf(struct iov_iter *reg_iter, void __user *ubuf) if (copy_from_user(tmp_buf, ubuf, len)) break; ret = copy_to_iter(tmp_buf, len, reg_iter); - if (ret <= 0) + if (ret != len) break; } ubuf += ret; -- 2.33.0