xfrm: prefer family stored in xfrm_mode struct
authorFlorian Westphal <fw@strlen.de>
Fri, 29 Mar 2019 20:16:23 +0000 (21:16 +0100)
committerSteffen Klassert <steffen.klassert@secunet.com>
Mon, 8 Apr 2019 07:14:12 +0000 (09:14 +0200)
Now that we have the family available directly in the
xfrm_mode struct, we can use that and avoid one extra dereference.

Signed-off-by: Florian Westphal <fw@strlen.de>
Reviewed-by: Sabrina Dubroca <sd@queasysnail.net>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
net/ipv4/ip_vti.c
net/ipv6/ip6_vti.c
net/xfrm/xfrm_input.c
net/xfrm/xfrm_interface.c

index a847479..3f3f6d6 100644 (file)
@@ -137,7 +137,7 @@ static int vti_rcv_cb(struct sk_buff *skb, int err)
                }
        }
 
-       family = inner_mode->afinfo->family;
+       family = inner_mode->family;
 
        skb->mark = be32_to_cpu(tunnel->parms.i_key);
        ret = xfrm_policy_check(NULL, XFRM_POLICY_IN, skb, family);
index 8b6eeff..369803c 100644 (file)
@@ -372,7 +372,7 @@ static int vti6_rcv_cb(struct sk_buff *skb, int err)
                }
        }
 
-       family = inner_mode->afinfo->family;
+       family = inner_mode->family;
 
        skb->mark = be32_to_cpu(t->parms.i_key);
        ret = xfrm_policy_check(NULL, XFRM_POLICY_IN, skb, family);
index b3b6136..ea5ac05 100644 (file)
@@ -216,7 +216,7 @@ int xfrm_input(struct sk_buff *skb, int nexthdr, __be32 spi, int encap_type)
                        goto drop;
                }
 
-               family = x->outer_mode->afinfo->family;
+               family = x->outer_mode->family;
 
                /* An encap_type of -1 indicates async resumption. */
                if (encap_type == -1) {
@@ -425,7 +425,7 @@ resume:
                 * transport mode so the outer address is identical.
                 */
                daddr = &x->id.daddr;
-               family = x->outer_mode->afinfo->family;
+               family = x->outer_mode->family;
 
                err = xfrm_parse_spi(skb, nexthdr, &spi, &seq);
                if (err < 0) {
index dbb3c19..93efb09 100644 (file)
@@ -285,7 +285,7 @@ static int xfrmi_rcv_cb(struct sk_buff *skb, int err)
                }
 
                if (!xfrm_policy_check(NULL, XFRM_POLICY_IN, skb,
-                                      inner_mode->afinfo->family))
+                                      inner_mode->family))
                        return -EPERM;
        }