xfrm: Use ipv6_addr_equal() where appropriate.
Subsystems (3)
PATCH 2/5 xfrm: Use ipv6_addr_equal() where appropriate.
Signed-off-by YOSHIFUJI Hideaki <[email protected]>
--- include/net/xfrm.h | 13 ++++++++++--- net/ipv6/xfrm6_tunnel.c | 4 ++-- 2 files changed, 12 insertions(+), 5 deletions(-)
include/net/xfrm.h +10 -3
@@ -1032,7 +1032,7 @@ static inline int __xfrm6_state_addr_cmp(const struct xfrm_tmpl *tmpl, const struct xfrm_state *x) {return (!ipv6_addr_any ((struct in6_addr *)&tmpl->saddr) && -ipv6_addr_cmp ((struct in6_addr *)&tmpl->saddr, (struct in6_addr *)&x->props.saddr)); + !ipv6_addr_equal ((struct in6_addr *)&tmpl->saddr, (struct in6_addr *)&x->props.saddr)); } static inline int
@@ -1243,8 +1243,8 @@ static __inline__ int __xfrm6_state_addr_check(const struct xfrm_state *x, const xfrm_address_t *daddr, const xfrm_address_t *saddr) { - if (!ipv6_addr_cmp((struct in6_addr *)daddr, (struct in6_addr *)&x->id.daddr) && - (!ipv6_addr_cmp((struct in6_addr *)saddr, (struct in6_addr *)&x->props.saddr)|| + if (ipv6_addr_equal((struct in6_addr *)daddr, (struct in6_addr *)&x->id.daddr) && + (ipv6_addr_equal((struct in6_addr *)saddr, (struct in6_addr *)&x->props.saddr) || ipv6_addr_any((struct in6_addr *)saddr) || ipv6_addr_any((struct in6_addr *)&x->props.saddr)))return 1 ;
@@ -1588,6 +1588,13 @@ static inline int xfrm_addr_cmp(const xfrm_address_t *a, } } +static inline bool xfrm6_addr_equal (const xfrm_address_t *a, +const xfrm_address_t *b) +{ +return ipv6_addr_equal ((const struct in6_addr *)a, + (const struct in6_addr *)b); +} +static inline int xfrm_policy_id2dir (u32 index) {return index &7 ;
net/ipv6/xfrm6_tunnel.c +2 -2
@@ -94,7 +94,7 @@ static struct xfrm6_tunnel_spi *__xfrm6_tunnel_spi_lookup(struct net *net, consthlist_for_each_entry_rcu (x6spi, pos, &xfrm6_tn->spi_byaddr[xfrm6_tunnel_spi_hash_byaddr (saddr)], list_byaddr) { -if (memcmp (&x6spi->addr, saddr,sizeof (x6spi->addr)) ==0 ) +if (xfrm6_addr_equal (&x6spi->addr, saddr))return x6spi; }
@@ -211,7 +211,7 @@ static void xfrm6_tunnel_free_spi(struct net *net, xfrm_address_t *saddr) &xfrm6_tn->spi_byaddr[xfrm6_tunnel_spi_hash_byaddr(saddr)], list_byaddr) { -if (memcmp (&x6spi->addr, saddr,sizeof (x6spi->addr)) ==0 ) { +if (xfrm6_addr_equal (&x6spi->addr, saddr)) {if (atomic_dec_and_test (&x6spi->refcnt)) {hlist_del_rcu (&x6spi->list_byaddr);hlist_del_rcu (&x6spi->list_byspi);
Signature · 1 line
1.7.9.5
From: YOSHIFUJI Hideaki <[email protected]>
Date: Wed, 30 Jan 2013 07:48:31 +0900
Quoted 1 line
Signed-off-by YOSHIFUJI Hideaki <[email protected]>
Applied.