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>
This commit is contained in:
Al Viro 2020-07-11 23:51:04 -04:00
parent cc44c17baf
commit 99a2c96d52

View File

@ -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;