summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2020-07-11 23:51:04 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2020-08-20 15:45:15 -0400
commit99a2c96d52d312b11a943372964226fa134de3b1 (patch)
treea3d63171689e7c7eaaeb5f617cd047f6743dc0e3
parentcc44c17baf7f3f833d36b2f2a1edb1cc0b6f2cc4 (diff)
csum_and_copy_..._user(): pass 0xffffffff instead of 0 as initial sum
Preparation for the change of calling conventions; right now all callers pass 0 as initial sum. Passing 0xffffffff instead yields the values comparable mod 0xffff and guarantees that 0 will not be returned on success. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r--lib/iov_iter.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/iov_iter.c b/lib/iov_iter.c
index 84f3a9156684..437fbc14c972 100644
--- a/lib/iov_iter.c
+++ b/lib/iov_iter.c
@@ -1452,7 +1452,7 @@ size_t csum_and_copy_from_iter(void *addr, size_t bytes, __wsum *csum,
int err = 0;
next = csum_and_copy_from_user(v.iov_base,
(to += v.iov_len) - v.iov_len,
- v.iov_len, 0, &err);
+ v.iov_len, ~0U, &err);
if (!err) {
sum = csum_block_add(sum, next, off);
off += v.iov_len;
@@ -1494,7 +1494,7 @@ bool csum_and_copy_from_iter_full(void *addr, size_t bytes, __wsum *csum,
int err = 0;
next = csum_and_copy_from_user(v.iov_base,
(to += v.iov_len) - v.iov_len,
- v.iov_len, 0, &err);
+ v.iov_len, ~0U, &err);
if (err)
return false;
sum = csum_block_add(sum, next, off);
@@ -1540,7 +1540,7 @@ size_t csum_and_copy_to_iter(const void *addr, size_t bytes, void *csump,
int err = 0;
next = csum_and_copy_to_user((from += v.iov_len) - v.iov_len,
v.iov_base,
- v.iov_len, 0, &err);
+ v.iov_len, ~0U, &err);
if (!err) {
sum = csum_block_add(sum, next, off);
off += v.iov_len;