diff options
Diffstat (limited to 'net/xfrm')
-rw-r--r-- | net/xfrm/xfrm_policy.c | 12 | ||||
-rw-r--r-- | net/xfrm/xfrm_state.c | 12 | ||||
-rw-r--r-- | net/xfrm/xfrm_user.c | 12 |
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; |