summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorAlex Elder <elder@linaro.org>2021-03-14 20:26:50 -0500
committerWill Deacon <will@kernel.org>2021-03-15 10:57:21 +0000
commit0710442a88d1c646d37ac83c52de85f456e99171 (patch)
treec2277883d3c52f9eaa76e314410fb476b9dddb7a /arch
parentc8e3866836528a4ba3b0535834f03768d74f7d8e (diff)
downloadlinux-stable-0710442a88d1c646d37ac83c52de85f456e99171.tar.gz
linux-stable-0710442a88d1c646d37ac83c52de85f456e99171.tar.bz2
linux-stable-0710442a88d1c646d37ac83c52de85f456e99171.zip
arm64: csum: cast to the proper type
The last line of ip_fast_csum() calls csum_fold(), forcing the type of the argument passed to be u32. But csum_fold() takes a __wsum argument (which is __u32 __bitwise for arm64). As long as we're forcing the cast, cast it to the right type. Signed-off-by: Alex Elder <elder@linaro.org> Acked-by: Robin Murphy <robin.murphy@arm.com> Link: https://lore.kernel.org/r/20210315012650.1221328-1-elder@linaro.org Signed-off-by: Will Deacon <will@kernel.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm64/include/asm/checksum.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm64/include/asm/checksum.h b/arch/arm64/include/asm/checksum.h
index 93a161b3bf3f..dc52b733675d 100644
--- a/arch/arm64/include/asm/checksum.h
+++ b/arch/arm64/include/asm/checksum.h
@@ -37,7 +37,7 @@ static inline __sum16 ip_fast_csum(const void *iph, unsigned int ihl)
} while (--n > 0);
sum += ((sum >> 32) | (sum << 32));
- return csum_fold((__force u32)(sum >> 32));
+ return csum_fold((__force __wsum)(sum >> 32));
}
#define ip_fast_csum ip_fast_csum