xfrm: Convert xfrm_addr_cmp() to boolean xfrm_addr_equal().

All users of xfrm_addr_cmp() use its result as boolean.
Introduce xfrm_addr_equal() (which is equal to !xfrm_addr_cmp())
and convert all users.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
diff --git a/include/net/xfrm.h b/include/net/xfrm.h
index 0d8a797..de34883 100644
--- a/include/net/xfrm.h
+++ b/include/net/xfrm.h
@@ -1574,20 +1574,6 @@
 extern struct xfrm_algo_desc *xfrm_aead_get_byname(const char *name, int icv_len,
 						   int probe);
 
-static inline int xfrm_addr_cmp(const xfrm_address_t *a,
-				const xfrm_address_t *b,
-				int family)
-{
-	switch (family) {
-	default:
-	case AF_INET:
-		return (__force u32)a->a4 - (__force u32)b->a4;
-	case AF_INET6:
-		return ipv6_addr_cmp((const struct in6_addr *)a,
-				     (const struct in6_addr *)b);
-	}
-}
-
 static inline bool xfrm6_addr_equal(const xfrm_address_t *a,
 				    const xfrm_address_t *b)
 {
@@ -1595,6 +1581,19 @@
 			       (const struct in6_addr *)b);
 }
 
+static inline bool xfrm_addr_equal(const xfrm_address_t *a,
+				   const xfrm_address_t *b,
+				   sa_family_t family)
+{
+	switch (family) {
+	default:
+	case AF_INET:
+		return ((__force u32)a->a4 ^ (__force u32)b->a4) == 0;
+	case AF_INET6:
+		return xfrm6_addr_equal(a, b);
+	}
+}
+
 static inline int xfrm_policy_id2dir(u32 index)
 {
 	return index & 7;