diff options
author | Nikolay Aleksandrov <razor@blackwall.org> | 2024-08-16 13:48:11 +0200 |
---|---|---|
committer | Paolo Abeni <pabeni@redhat.com> | 2024-08-20 15:29:28 +0200 |
commit | 95c90e4ad89d493a7a14fa200082e466e2548f9d (patch) | |
tree | 3cf4de0de4064901e3b364f3d148accca353e9f8 /drivers/net/bonding/bond_main.c | |
parent | bonding: fix bond_ipsec_offload_ok return type (diff) | |
download | linux-95c90e4ad89d493a7a14fa200082e466e2548f9d.tar.xz linux-95c90e4ad89d493a7a14fa200082e466e2548f9d.zip |
bonding: fix null pointer deref in bond_ipsec_offload_ok
We must check if there is an active slave before dereferencing the pointer.
Fixes: 18cb261afd7b ("bonding: support hardware encryption offload to slaves")
Signed-off-by: Nikolay Aleksandrov <razor@blackwall.org>
Reviewed-by: Hangbin Liu <liuhangbin@gmail.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'drivers/net/bonding/bond_main.c')
-rw-r--r-- | drivers/net/bonding/bond_main.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index 85b5868deeea..65ddb71eebcd 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c @@ -604,6 +604,8 @@ static bool bond_ipsec_offload_ok(struct sk_buff *skb, struct xfrm_state *xs) bond = netdev_priv(bond_dev); rcu_read_lock(); curr_active = rcu_dereference(bond->curr_active_slave); + if (!curr_active) + goto out; real_dev = curr_active->dev; if (BOND_MODE(bond) != BOND_MODE_ACTIVEBACKUP) |