Will avoid touching this when sp pointer is removed from sk_buff struct.

Signed-off-by: Florian Westphal <f...@strlen.de>
---
 .../ethernet/mellanox/mlx5/core/en_accel/ipsec_rxtx.c    | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_rxtx.c 
b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_rxtx.c
index 128a82b1dbfc..f6717c287ff4 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_rxtx.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_rxtx.c
@@ -254,11 +254,13 @@ struct sk_buff *mlx5e_ipsec_handle_tx_skb(struct 
net_device *netdev,
        struct mlx5e_ipsec_metadata *mdata;
        struct mlx5e_ipsec_sa_entry *sa_entry;
        struct xfrm_state *x;
+       struct sec_path *sp;
 
        if (!xo)
                return skb;
 
-       if (unlikely(skb->sp->len != 1)) {
+       sp = skb_sec_path(skb);
+       if (unlikely(sp->len != 1)) {
                atomic64_inc(&priv->ipsec->sw_stats.ipsec_tx_drop_bundle);
                goto drop;
        }
@@ -372,10 +374,11 @@ struct sk_buff *mlx5e_ipsec_handle_rx_skb(struct 
net_device *netdev,
 bool mlx5e_ipsec_feature_check(struct sk_buff *skb, struct net_device *netdev,
                               netdev_features_t features)
 {
+       struct sec_path *sp = skb_sec_path(skb);
        struct xfrm_state *x;
 
-       if (skb->sp && skb->sp->len) {
-               x = skb->sp->xvec[0];
+       if (sp && sp->len) {
+               x = sp->xvec[0];
                if (x && x->xso.offload_handle)
                        return true;
        }
-- 
2.19.2

Reply via email to