aboutsummaryrefslogtreecommitdiffstats
path: root/net/xfrm
diff options
context:
space:
mode:
Diffstat (limited to 'net/xfrm')
-rw-r--r--net/xfrm/xfrm_policy.c12
-rw-r--r--net/xfrm/xfrm_state.c12
-rw-r--r--net/xfrm/xfrm_user.c12
3 files changed, 16 insertions, 20 deletions
diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c
index 9049a5caeb25..7661576b6f45 100644
--- a/net/xfrm/xfrm_policy.c
+++ b/net/xfrm/xfrm_policy.c
@@ -61,8 +61,8 @@ __xfrm4_selector_match(const struct xfrm_selector *sel, const struct flowi *fl)
61{ 61{
62 const struct flowi4 *fl4 = &fl->u.ip4; 62 const struct flowi4 *fl4 = &fl->u.ip4;
63 63
64 return addr_match(&fl4->daddr, &sel->daddr, sel->prefixlen_d) && 64 return addr4_match(fl4->daddr, sel->daddr.a4, sel->prefixlen_d) &&
65 addr_match(&fl4->saddr, &sel->saddr, sel->prefixlen_s) && 65 addr4_match(fl4->saddr, sel->saddr.a4, sel->prefixlen_s) &&
66 !((xfrm_flowi_dport(fl, &fl4->uli) ^ sel->dport) & sel->dport_mask) && 66 !((xfrm_flowi_dport(fl, &fl4->uli) ^ sel->dport) & sel->dport_mask) &&
67 !((xfrm_flowi_sport(fl, &fl4->uli) ^ sel->sport) & sel->sport_mask) && 67 !((xfrm_flowi_sport(fl, &fl4->uli) ^ sel->sport) & sel->sport_mask) &&
68 (fl4->flowi4_proto == sel->proto || !sel->proto) && 68 (fl4->flowi4_proto == sel->proto || !sel->proto) &&
@@ -1340,7 +1340,7 @@ static inline struct xfrm_dst *xfrm_alloc_dst(struct net *net, int family)
1340 case AF_INET: 1340 case AF_INET:
1341 dst_ops = &net->xfrm.xfrm4_dst_ops; 1341 dst_ops = &net->xfrm.xfrm4_dst_ops;
1342 break; 1342 break;
1343#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) 1343#if IS_ENABLED(CONFIG_IPV6)
1344 case AF_INET6: 1344 case AF_INET6:
1345 dst_ops = &net->xfrm.xfrm6_dst_ops; 1345 dst_ops = &net->xfrm.xfrm6_dst_ops;
1346 break; 1346 break;
@@ -1499,7 +1499,7 @@ static struct dst_entry *xfrm_bundle_create(struct xfrm_policy *policy,
1499 goto free_dst; 1499 goto free_dst;
1500 1500
1501 /* Copy neighbour for reachability confirmation */ 1501 /* Copy neighbour for reachability confirmation */
1502 dst_set_neighbour(dst0, neigh_clone(dst_get_neighbour(dst))); 1502 dst_set_neighbour(dst0, neigh_clone(dst_get_neighbour_noref(dst)));
1503 1503
1504 xfrm_init_path((struct xfrm_dst *)dst0, dst, nfheader_len); 1504 xfrm_init_path((struct xfrm_dst *)dst0, dst, nfheader_len);
1505 xfrm_init_pmtu(dst_prev); 1505 xfrm_init_pmtu(dst_prev);
@@ -2445,7 +2445,7 @@ int xfrm_policy_register_afinfo(struct xfrm_policy_afinfo *afinfo)
2445 case AF_INET: 2445 case AF_INET:
2446 xfrm_dst_ops = &net->xfrm.xfrm4_dst_ops; 2446 xfrm_dst_ops = &net->xfrm.xfrm4_dst_ops;
2447 break; 2447 break;
2448#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) 2448#if IS_ENABLED(CONFIG_IPV6)
2449 case AF_INET6: 2449 case AF_INET6:
2450 xfrm_dst_ops = &net->xfrm.xfrm6_dst_ops; 2450 xfrm_dst_ops = &net->xfrm.xfrm6_dst_ops;
2451 break; 2451 break;
@@ -2495,7 +2495,7 @@ static void __net_init xfrm_dst_ops_init(struct net *net)
2495 afinfo = xfrm_policy_afinfo[AF_INET]; 2495 afinfo = xfrm_policy_afinfo[AF_INET];
2496 if (afinfo) 2496 if (afinfo)
2497 net->xfrm.xfrm4_dst_ops = *afinfo->dst_ops; 2497 net->xfrm.xfrm4_dst_ops = *afinfo->dst_ops;
2498#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) 2498#if IS_ENABLED(CONFIG_IPV6)
2499 afinfo = xfrm_policy_afinfo[AF_INET6]; 2499 afinfo = xfrm_policy_afinfo[AF_INET6];
2500 if (afinfo) 2500 if (afinfo)
2501 net->xfrm.xfrm6_dst_ops = *afinfo->dst_ops; 2501 net->xfrm.xfrm6_dst_ops = *afinfo->dst_ops;
diff --git a/net/xfrm/xfrm_state.c b/net/xfrm/xfrm_state.c
index 9414b9c5b1e4..5b228f97d4b3 100644
--- a/net/xfrm/xfrm_state.c
+++ b/net/xfrm/xfrm_state.c
@@ -1035,16 +1035,12 @@ static struct xfrm_state *__find_acq_core(struct net *net, struct xfrm_mark *m,
1035 break; 1035 break;
1036 1036
1037 case AF_INET6: 1037 case AF_INET6:
1038 ipv6_addr_copy((struct in6_addr *)x->sel.daddr.a6, 1038 *(struct in6_addr *)x->sel.daddr.a6 = *(struct in6_addr *)daddr;
1039 (const struct in6_addr *)daddr); 1039 *(struct in6_addr *)x->sel.saddr.a6 = *(struct in6_addr *)saddr;
1040 ipv6_addr_copy((struct in6_addr *)x->sel.saddr.a6,
1041 (const struct in6_addr *)saddr);
1042 x->sel.prefixlen_d = 128; 1040 x->sel.prefixlen_d = 128;
1043 x->sel.prefixlen_s = 128; 1041 x->sel.prefixlen_s = 128;
1044 ipv6_addr_copy((struct in6_addr *)x->props.saddr.a6, 1042 *(struct in6_addr *)x->props.saddr.a6 = *(struct in6_addr *)saddr;
1045 (const struct in6_addr *)saddr); 1043 *(struct in6_addr *)x->id.daddr.a6 = *(struct in6_addr *)daddr;
1046 ipv6_addr_copy((struct in6_addr *)x->id.daddr.a6,
1047 (const struct in6_addr *)daddr);
1048 break; 1044 break;
1049 } 1045 }
1050 1046
diff --git a/net/xfrm/xfrm_user.c b/net/xfrm/xfrm_user.c
index d0a42df5160e..e0d747a2e803 100644
--- a/net/xfrm/xfrm_user.c
+++ b/net/xfrm/xfrm_user.c
@@ -28,7 +28,7 @@
28#include <net/netlink.h> 28#include <net/netlink.h>
29#include <net/ah.h> 29#include <net/ah.h>
30#include <asm/uaccess.h> 30#include <asm/uaccess.h>
31#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) 31#if IS_ENABLED(CONFIG_IPV6)
32#include <linux/in6.h> 32#include <linux/in6.h>
33#endif 33#endif
34 34
@@ -150,7 +150,7 @@ static int verify_newsa_info(struct xfrm_usersa_info *p,
150 break; 150 break;
151 151
152 case AF_INET6: 152 case AF_INET6:
153#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) 153#if IS_ENABLED(CONFIG_IPV6)
154 break; 154 break;
155#else 155#else
156 err = -EAFNOSUPPORT; 156 err = -EAFNOSUPPORT;
@@ -201,7 +201,7 @@ static int verify_newsa_info(struct xfrm_usersa_info *p,
201 goto out; 201 goto out;
202 break; 202 break;
203 203
204#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) 204#if IS_ENABLED(CONFIG_IPV6)
205 case IPPROTO_DSTOPTS: 205 case IPPROTO_DSTOPTS:
206 case IPPROTO_ROUTING: 206 case IPPROTO_ROUTING:
207 if (attrs[XFRMA_ALG_COMP] || 207 if (attrs[XFRMA_ALG_COMP] ||
@@ -1160,7 +1160,7 @@ static int verify_newpolicy_info(struct xfrm_userpolicy_info *p)
1160 break; 1160 break;
1161 1161
1162 case AF_INET6: 1162 case AF_INET6:
1163#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) 1163#if IS_ENABLED(CONFIG_IPV6)
1164 break; 1164 break;
1165#else 1165#else
1166 return -EAFNOSUPPORT; 1166 return -EAFNOSUPPORT;
@@ -1231,7 +1231,7 @@ static int validate_tmpl(int nr, struct xfrm_user_tmpl *ut, u16 family)
1231 switch (ut[i].family) { 1231 switch (ut[i].family) {
1232 case AF_INET: 1232 case AF_INET:
1233 break; 1233 break;
1234#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) 1234#if IS_ENABLED(CONFIG_IPV6)
1235 case AF_INET6: 1235 case AF_INET6:
1236 break; 1236 break;
1237#endif 1237#endif
@@ -2604,7 +2604,7 @@ static struct xfrm_policy *xfrm_compile_policy(struct sock *sk, int opt,
2604 return NULL; 2604 return NULL;
2605 } 2605 }
2606 break; 2606 break;
2607#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) 2607#if IS_ENABLED(CONFIG_IPV6)
2608 case AF_INET6: 2608 case AF_INET6:
2609 if (opt != IPV6_XFRM_POLICY) { 2609 if (opt != IPV6_XFRM_POLICY) {
2610 *dir = -EOPNOTSUPP; 2610 *dir = -EOPNOTSUPP;