Message ID | 20230613101330.87734-4-wojciech.drewek@intel.com (mailing list archive) |
---|---|
State | Awaiting Upstream |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | ice: switchdev bridge offload | expand |
> -----Original Message----- > From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of > Wojciech Drewek > Sent: Tuesday, June 13, 2023 3:43 PM > To: intel-wired-lan@lists.osuosl.org > Cc: pmenzel@molgen.mpg.de; netdev@vger.kernel.org; > simon.horman@corigine.com; dan.carpenter@linaro.org > Subject: [Intel-wired-lan] [PATCH iwl-next v5 03/12] ice: Don't tx before > switchdev is fully configured > > There is possibility that ice_eswitch_port_start_xmit might be called while > some resources are still not allocated which might cause NULL pointer > dereference. Fix this by checking if switchdev configuration was finished. > > Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de> > Reviewed-by: Simon Horman <simon.horman@corigine.com> > Signed-off-by: Wojciech Drewek <wojciech.drewek@intel.com> > --- > drivers/net/ethernet/intel/ice/ice_eswitch.c | 3 +++ > 1 file changed, 3 insertions(+) > Tested-by: Sujai Buvaneswaran <sujai.buvaneswaran@intel.com>
diff --git a/drivers/net/ethernet/intel/ice/ice_eswitch.c b/drivers/net/ethernet/intel/ice/ice_eswitch.c index be5b22691f7c..15a4c148c28b 100644 --- a/drivers/net/ethernet/intel/ice/ice_eswitch.c +++ b/drivers/net/ethernet/intel/ice/ice_eswitch.c @@ -331,6 +331,9 @@ ice_eswitch_port_start_xmit(struct sk_buff *skb, struct net_device *netdev) np = netdev_priv(netdev); vsi = np->vsi; + if (!vsi || !ice_is_switchdev_running(vsi->back)) + return NETDEV_TX_BUSY; + if (ice_is_reset_in_progress(vsi->back->state) || test_bit(ICE_VF_DIS, vsi->back->state)) return NETDEV_TX_BUSY;