forked from Minki/linux
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:
parent
cc44c17baf
commit
99a2c96d52
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user