xfrm: pass extack down to xfrm_type ->init_state
authorSabrina Dubroca <sd@queasysnail.net>
Tue, 27 Sep 2022 15:45:29 +0000 (17:45 +0200)
committerSteffen Klassert <steffen.klassert@secunet.com>
Thu, 29 Sep 2022 05:17:58 +0000 (07:17 +0200)
Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
include/net/xfrm.h
net/ipv4/ah4.c
net/ipv4/esp4.c
net/ipv4/ipcomp.c
net/ipv4/xfrm4_tunnel.c
net/ipv6/ah6.c
net/ipv6/esp6.c
net/ipv6/ipcomp6.c
net/ipv6/mip6.c
net/ipv6/xfrm6_tunnel.c
net/xfrm/xfrm_state.c

index c504d07bcb7c1b86dffae116d71b66d560e9dc98..dbc81f5eb5538ffdb320bac28990fa2050b92ad2 100644 (file)
@@ -405,7 +405,8 @@ struct xfrm_type {
 #define XFRM_TYPE_LOCAL_COADDR 4
 #define XFRM_TYPE_REMOTE_COADDR        8
 
-       int                     (*init_state)(struct xfrm_state *x);
+       int                     (*init_state)(struct xfrm_state *x,
+                                             struct netlink_ext_ack *extack);
        void                    (*destructor)(struct xfrm_state *);
        int                     (*input)(struct xfrm_state *, struct sk_buff *skb);
        int                     (*output)(struct xfrm_state *, struct sk_buff *pskb);
index f8ad04470d3ace7f2e59ee5890467d689be52752..babefff15de3bb0cc17b0b1ce4f3b5f5e5e038f1 100644 (file)
@@ -471,7 +471,7 @@ static int ah4_err(struct sk_buff *skb, u32 info)
        return 0;
 }
 
-static int ah_init_state(struct xfrm_state *x)
+static int ah_init_state(struct xfrm_state *x, struct netlink_ext_ack *extack)
 {
        struct ah_data *ahp = NULL;
        struct xfrm_algo_desc *aalg_desc;
index 5c03eba787e52ffc22438676cd96ba7ff265b29e..bc2b2c5717b5d14853b2da65be619705d01287c4 100644 (file)
@@ -1131,7 +1131,7 @@ error:
        return err;
 }
 
-static int esp_init_state(struct xfrm_state *x)
+static int esp_init_state(struct xfrm_state *x, struct netlink_ext_ack *extack)
 {
        struct crypto_aead *aead;
        u32 align;
index 366094c1ce6caf4dfe7b09b679c5caa0b4797ab5..230d1120874fd4c651515b1ace0942c0842934f0 100644 (file)
@@ -117,7 +117,8 @@ out:
        return err;
 }
 
-static int ipcomp4_init_state(struct xfrm_state *x)
+static int ipcomp4_init_state(struct xfrm_state *x,
+                             struct netlink_ext_ack *extack)
 {
        int err = -EINVAL;
 
index 9d4f418f1bf81655a6a16647c032f78539b7e1e1..08826e0d79620e5842b18258da7a832c2edc4cf6 100644 (file)
@@ -22,7 +22,7 @@ static int ipip_xfrm_rcv(struct xfrm_state *x, struct sk_buff *skb)
        return ip_hdr(skb)->protocol;
 }
 
-static int ipip_init_state(struct xfrm_state *x)
+static int ipip_init_state(struct xfrm_state *x, struct netlink_ext_ack *extack)
 {
        if (x->props.mode != XFRM_MODE_TUNNEL)
                return -EINVAL;
index b5995c1f4d7a50dd2f8766304f2bb4a4ae4f2358..f5bc0d4b37ad50f75ed511ab94286973d08f747f 100644 (file)
@@ -666,7 +666,7 @@ static int ah6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
        return 0;
 }
 
-static int ah6_init_state(struct xfrm_state *x)
+static int ah6_init_state(struct xfrm_state *x, struct netlink_ext_ack *extack)
 {
        struct ah_data *ahp = NULL;
        struct xfrm_algo_desc *aalg_desc;
index 8220923a12f7a854918dfeb3df696191e0a8a4cb..2ca9b7b7e5004ad0b908e5929c4920c4c9b38c34 100644 (file)
@@ -1174,7 +1174,7 @@ error:
        return err;
 }
 
-static int esp6_init_state(struct xfrm_state *x)
+static int esp6_init_state(struct xfrm_state *x, struct netlink_ext_ack *extack)
 {
        struct crypto_aead *aead;
        u32 align;
index 15f984be35705ab7c316e47985f89fd258335c22..7e47009739e9c423fbf488779a35153d77a96a63 100644 (file)
@@ -136,7 +136,8 @@ out:
        return err;
 }
 
-static int ipcomp6_init_state(struct xfrm_state *x)
+static int ipcomp6_init_state(struct xfrm_state *x,
+                             struct netlink_ext_ack *extack)
 {
        int err = -EINVAL;
 
index aeb35d26e47490be2ea26e1e95ac27a9f20f7b2e..3d87ae88ebfdfc61a364aaaa9f7fe23a25934ea6 100644 (file)
@@ -247,7 +247,7 @@ static int mip6_destopt_reject(struct xfrm_state *x, struct sk_buff *skb,
        return err;
 }
 
-static int mip6_destopt_init_state(struct xfrm_state *x)
+static int mip6_destopt_init_state(struct xfrm_state *x, struct netlink_ext_ack *extack)
 {
        if (x->id.spi) {
                pr_info("%s: spi is not 0: %u\n", __func__, x->id.spi);
@@ -333,7 +333,7 @@ static int mip6_rthdr_output(struct xfrm_state *x, struct sk_buff *skb)
        return 0;
 }
 
-static int mip6_rthdr_init_state(struct xfrm_state *x)
+static int mip6_rthdr_init_state(struct xfrm_state *x, struct netlink_ext_ack *extack)
 {
        if (x->id.spi) {
                pr_info("%s: spi is not 0: %u\n", __func__, x->id.spi);
index 2b31112c0856bd8136ea6283a601e4c392976726..dda44b0671ac8fb0d1703844e49b4a41c29863f1 100644 (file)
@@ -270,7 +270,7 @@ static int xfrm6_tunnel_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
        return 0;
 }
 
-static int xfrm6_tunnel_init_state(struct xfrm_state *x)
+static int xfrm6_tunnel_init_state(struct xfrm_state *x, struct netlink_ext_ack *extack)
 {
        if (x->props.mode != XFRM_MODE_TUNNEL)
                return -EINVAL;
index 0b59ff7985e65418e96f2ee330f8a496cf96dce8..82c571d07836f0b9bbd79178e17ef9a34dcb6aa5 100644 (file)
@@ -2673,7 +2673,7 @@ int __xfrm_init_state(struct xfrm_state *x, bool init_replay, bool offload,
 
        x->type_offload = xfrm_get_type_offload(x->id.proto, family, offload);
 
-       err = x->type->init_state(x);
+       err = x->type->init_state(x, extack);
        if (err)
                goto error;