diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2020-02-18 14:26:32 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2020-05-29 16:11:50 -0400 |
commit | 5904122c46581a5ccee54a51ef07e0d891fd7aef (patch) | |
tree | 433bbafc1e3a3cdbfd291d51cfd858186683dff2 /include/net/checksum.h | |
parent | 24f9aa928c3cc88bae573b39b6976844968f80a0 (diff) | |
download | linux-stable-5904122c46581a5ccee54a51ef07e0d891fd7aef.tar.gz linux-stable-5904122c46581a5ccee54a51ef07e0d891fd7aef.tar.bz2 linux-stable-5904122c46581a5ccee54a51ef07e0d891fd7aef.zip |
take the dummy csum_and_copy_from_user() into net/checksum.h
now that can be done conveniently - all non-trivial cases have
_HAVE_ARCH_COPY_AND_CSUM_FROM_USER defined, so the fallback in
net/checksum.h is used only for dummy (copy_from_user, then
csum_partial) implementation. Allowing us to get rid of all
dummy instances, both of csum_and_copy_from_user() and
csum_partial_copy_from_user().
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'include/net/checksum.h')
-rw-r--r-- | include/net/checksum.h | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/include/net/checksum.h b/include/net/checksum.h index 97bf4885a962..5f9c73c0eeb9 100644 --- a/include/net/checksum.h +++ b/include/net/checksum.h @@ -26,13 +26,9 @@ static inline __wsum csum_and_copy_from_user (const void __user *src, void *dst, int len, __wsum sum, int *err_ptr) { - if (access_ok(src, len)) - return csum_partial_copy_from_user(src, dst, len, sum, err_ptr); - - if (len) + if (copy_from_user(dst, src, len)) *err_ptr = -EFAULT; - - return sum; + return csum_partial(dst, len, sum); } #endif |