aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/linux/sunrpc/clnt.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/include/linux/sunrpc/clnt.h b/include/linux/sunrpc/clnt.h
index db7bcaf7c5bd..ee1bb67f525e 100644
--- a/include/linux/sunrpc/clnt.h
+++ b/include/linux/sunrpc/clnt.h
@@ -218,7 +218,13 @@ static inline bool __rpc_cmp_addr6(const struct sockaddr *sap1,
218{ 218{
219 const struct sockaddr_in6 *sin1 = (const struct sockaddr_in6 *)sap1; 219 const struct sockaddr_in6 *sin1 = (const struct sockaddr_in6 *)sap1;
220 const struct sockaddr_in6 *sin2 = (const struct sockaddr_in6 *)sap2; 220 const struct sockaddr_in6 *sin2 = (const struct sockaddr_in6 *)sap2;
221 return ipv6_addr_equal(&sin1->sin6_addr, &sin2->sin6_addr); 221
222 if (!ipv6_addr_equal(&sin1->sin6_addr, &sin2->sin6_addr))
223 return false;
224 else if (ipv6_addr_type(&sin1->sin6_addr) & IPV6_ADDR_LINKLOCAL)
225 return sin1->sin6_scope_id == sin2->sin6_scope_id;
226
227 return true;
222} 228}
223 229
224static inline bool __rpc_copy_addr6(struct sockaddr *dst, 230static inline bool __rpc_copy_addr6(struct sockaddr *dst,