]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
xfrm: Use xdo.dev instead of xdo.real_dev
authorCosmin Ratiu <cratiu@nvidia.com>
Fri, 11 Apr 2025 07:49:54 +0000 (10:49 +0300)
committerSteffen Klassert <steffen.klassert@secunet.com>
Wed, 16 Apr 2025 09:01:19 +0000 (11:01 +0200)
The policy offload struct was reused from the state offload and
real_dev was copied from dev, but it was never set to anything else.
Simplify the code by always using xdo.dev for policies.

Signed-off-by: Cosmin Ratiu <cratiu@nvidia.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Reviewed-by: Nikolay Aleksandrov <razor@blackwall.org>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c
net/xfrm/xfrm_device.c
net/xfrm/xfrm_state.c

index 626e525c0f0d7ecace6fac7b97a049d501106962..0dfbbe21936f31057a961122fa0730e7e4ce8561 100644 (file)
@@ -1164,7 +1164,7 @@ mlx5e_ipsec_build_accel_pol_attrs(struct mlx5e_ipsec_pol_entry *pol_entry,
 static int mlx5e_xfrm_add_policy(struct xfrm_policy *x,
                                 struct netlink_ext_ack *extack)
 {
-       struct net_device *netdev = x->xdo.real_dev;
+       struct net_device *netdev = x->xdo.dev;
        struct mlx5e_ipsec_pol_entry *pol_entry;
        struct mlx5e_priv *priv;
        int err;
index d62f76161d83e29c07ec146484533c0a64f43e8e..4f4165ff738d2a301acfb2c8c2c5f2724d9698ed 100644 (file)
@@ -378,7 +378,6 @@ int xfrm_dev_policy_add(struct net *net, struct xfrm_policy *xp,
 
        xdo->dev = dev;
        netdev_tracker_alloc(dev, &xdo->dev_tracker, GFP_ATOMIC);
-       xdo->real_dev = dev;
        xdo->type = XFRM_DEV_OFFLOAD_PACKET;
        switch (dir) {
        case XFRM_POLICY_IN:
@@ -400,7 +399,6 @@ int xfrm_dev_policy_add(struct net *net, struct xfrm_policy *xp,
        err = dev->xfrmdev_ops->xdo_dev_policy_add(xp, extack);
        if (err) {
                xdo->dev = NULL;
-               xdo->real_dev = NULL;
                xdo->type = XFRM_DEV_OFFLOAD_UNSPECIFIED;
                xdo->dir = 0;
                netdev_put(dev, &xdo->dev_tracker);
index 341d79ecb5c21ccf09b85d13bf09f9c85a83e48a..d67420e7638911e3098ddc828eeb250a76afc4e8 100644 (file)
@@ -1555,7 +1555,6 @@ found:
                        xso->type = XFRM_DEV_OFFLOAD_PACKET;
                        xso->dir = xdo->dir;
                        xso->dev = xdo->dev;
-                       xso->real_dev = xdo->real_dev;
                        xso->flags = XFRM_DEV_OFFLOAD_FLAG_ACQ;
                        netdev_hold(xso->dev, &xso->dev_tracker, GFP_ATOMIC);
                        error = xso->dev->xfrmdev_ops->xdo_dev_state_add(x, NULL);
@@ -1563,7 +1562,6 @@ found:
                                xso->dir = 0;
                                netdev_put(xso->dev, &xso->dev_tracker);
                                xso->dev = NULL;
-                               xso->real_dev = NULL;
                                xso->type = XFRM_DEV_OFFLOAD_UNSPECIFIED;
                                x->km.state = XFRM_STATE_DEAD;
                                to_put = x;