aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/arch/sh/include/asm/checksum_32.h
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2020-12-31 23:23:01 +0000
committerRich Felker <dalias@libc.org>2021-09-17 13:59:56 -0400
commitca42bc4b7bda7c6d68f1cc97c27fc8ff7385c4c7 (patch)
tree5f4e39c390f876efa422c477b3770389832a252d /arch/sh/include/asm/checksum_32.h
parentLinux 5.15-rc1 (diff)
downloadwireguard-linux-ca42bc4b7bda7c6d68f1cc97c27fc8ff7385c4c7.tar.xz
wireguard-linux-ca42bc4b7bda7c6d68f1cc97c27fc8ff7385c4c7.zip
sh: fix trivial misannotations
Trivial misannotations in * get_user() (__gu_addr is a userland pointer there) * ip_fast_csum() (sum is __wsum, not unsigned int) * csum_and_copy_to_user() (destination is void *, not const void * - mea culpa) * __clear_user() (to is a userland pointer) * several places in kernel/traps_32.c (regs->pc is a userland pointer when regs is a userland pt_regs) * math-emu/math.c: READ() and WRITE() casts of address should be to userland pointer. No changes in code generation and those take care of the majority of noise from sparse on sh builds. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Tested-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> Signed-off-by: Rich Felker <dalias@libc.org>
Diffstat (limited to 'arch/sh/include/asm/checksum_32.h')
-rw-r--r--arch/sh/include/asm/checksum_32.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/sh/include/asm/checksum_32.h b/arch/sh/include/asm/checksum_32.h
index 1a391e3a7659..a6501b856f3e 100644
--- a/arch/sh/include/asm/checksum_32.h
+++ b/arch/sh/include/asm/checksum_32.h
@@ -84,7 +84,8 @@ static inline __sum16 csum_fold(__wsum sum)
*/
static inline __sum16 ip_fast_csum(const void *iph, unsigned int ihl)
{
- unsigned int sum, __dummy0, __dummy1;
+ __wsum sum;
+ unsigned int __dummy0, __dummy1;
__asm__ __volatile__(
"mov.l @%1+, %0\n\t"
@@ -197,6 +198,6 @@ static inline __wsum csum_and_copy_to_user(const void *src,
{
if (!access_ok(dst, len))
return 0;
- return csum_partial_copy_generic((__force const void *)src, dst, len);
+ return csum_partial_copy_generic(src, (__force void *)dst, len);
}
#endif /* __ASM_SH_CHECKSUM_H */