From: Christophe Leroy Date: Mon, 18 Aug 2025 09:48:30 +0000 (+0200) Subject: netfilter: nft_payload: Use csum_replace4() instead of opencoding X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=c015e17ba111e1cd2c7180204b006266aa15c263;p=users%2Fhch%2Fmisc.git netfilter: nft_payload: Use csum_replace4() instead of opencoding Open coded calculation can be avoided and replaced by the equivalent csum_replace4() in nft_csum_replace(). Signed-off-by: Christophe Leroy Reviewed-by: Simon Horman Signed-off-by: Florian Westphal --- diff --git a/net/netfilter/nft_payload.c b/net/netfilter/nft_payload.c index 7dfc5343dae4..059b28ffad0e 100644 --- a/net/netfilter/nft_payload.c +++ b/net/netfilter/nft_payload.c @@ -684,7 +684,7 @@ static const struct nft_expr_ops nft_payload_inner_ops = { static inline void nft_csum_replace(__sum16 *sum, __wsum fsum, __wsum tsum) { - *sum = csum_fold(csum_add(csum_sub(~csum_unfold(*sum), fsum), tsum)); + csum_replace4(sum, (__force __be32)fsum, (__force __be32)tsum); if (*sum == 0) *sum = CSUM_MANGLED_0; }