netfilter: ip6t_NPT: Use csum_partial().
Subsystems (2)
RFC PATCH 2/4 netfilter: ip6t_NPT: Use csum_partial().
Signed-off-by YOSHIFUJI Hideaki <[email protected]>
--- net/ipv6/netfilter/ip6t_NPT.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-)
net/ipv6/netfilter/ip6t_NPT.c +3 -8
@@ -17,18 +17,13 @@static int ip6t_npt_checkentry (const struct xt_tgchk_param *par) {struct ip6t_npt_tginfo *npt = par->targinfo; -__wsum src_sum =0 , dst_sum =0 ; -unsigned int i; +__wsum src_sum, dst_sum;if (npt->src_pfx_len >64 || npt->dst_pfx_len >64 )return -EINVAL ; -for (i =0 ; i <ARRAY_SIZE (npt->src_pfx.in6.s6_addr16); i++) { - src_sum =csum_add (src_sum, - (__force __wsum )npt->src_pfx.in6.s6_addr16[i]); - dst_sum =csum_add (dst_sum, - (__force __wsum )npt->dst_pfx.in6.s6_addr16[i]); - } + src_sum =csum_partial (&npt->src_pfx.in6,sizeof (npt->src_pfx.in6),0 ); + dst_sum =csum_partial (&npt->dst_pfx.in6,sizeof (npt->dst_pfx.in6),0 ); npt->adjustment =csum_fold (csum_sub (src_sum, dst_sum));return 0 ;
Signature · 1 line
1.7.9.5
Pablo Neira Ayuso
maintainerWill pass this patch to net-next, as it is a cleanup.
Quoted 39 lines · YOSHIFUJI Hideaki
Signed-off-by YOSHIFUJI Hideaki <[email protected]>--- net/ipv6/netfilter/ip6t_NPT.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-)net/ipv6/netfilter/ip6t_NPT.c +3
-8@@ -17,18 +17,13 @@static int ip6t_npt_checkentry (const struct xt_tgchk_param *par) {struct ip6t_npt_tginfo *npt = par->targinfo; -__wsum src_sum =0 , dst_sum =0 ; -unsigned int i; +__wsum src_sum, dst_sum;if (npt->src_pfx_len >64 || npt->dst_pfx_len >64 )return -EINVAL ; -for (i =0 ; i <ARRAY_SIZE (npt->src_pfx.in6.s6_addr16); i++) { - src_sum =csum_add (src_sum, - (__force __wsum )npt->src_pfx.in6.s6_addr16[i]); - dst_sum =csum_add (dst_sum, - (__force __wsum )npt->dst_pfx.in6.s6_addr16[i]); - } + src_sum =csum_partial (&npt->src_pfx.in6,sizeof (npt->src_pfx.in6),0 ); + dst_sum =csum_partial (&npt->dst_pfx.in6,sizeof (npt->dst_pfx.in6),0 ); npt->adjustment =csum_fold (csum_sub (src_sum, dst_sum));return 0 ;Signature · 7 lines
1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Pablo Neira Ayuso
maintainerI have applied a port to current of this patch. At the time it was posted, the merge window was closed IIRC.
Thanks.
Quoted 39 lines · YOSHIFUJI Hideaki
Signed-off-by YOSHIFUJI Hideaki <[email protected]>--- net/ipv6/netfilter/ip6t_NPT.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-)net/ipv6/netfilter/ip6t_NPT.c +3
-8@@ -17,18 +17,13 @@static int ip6t_npt_checkentry (const struct xt_tgchk_param *par) {struct ip6t_npt_tginfo *npt = par->targinfo; -__wsum src_sum =0 , dst_sum =0 ; -unsigned int i; +__wsum src_sum, dst_sum;if (npt->src_pfx_len >64 || npt->dst_pfx_len >64 )return -EINVAL ; -for (i =0 ; i <ARRAY_SIZE (npt->src_pfx.in6.s6_addr16); i++) { - src_sum =csum_add (src_sum, - (__force __wsum )npt->src_pfx.in6.s6_addr16[i]); - dst_sum =csum_add (dst_sum, - (__force __wsum )npt->dst_pfx.in6.s6_addr16[i]); - } + src_sum =csum_partial (&npt->src_pfx.in6,sizeof (npt->src_pfx.in6),0 ); + dst_sum =csum_partial (&npt->dst_pfx.in6,sizeof (npt->dst_pfx.in6),0 ); npt->adjustment =csum_fold (csum_sub (src_sum, dst_sum));return 0 ;Signature · 7 lines
1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html