mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 20:51:44 +00:00
ixgbe: fix panic when using macvlan with l2-fwd-offload enabled
Fix NULL pointer dereference in the case where a macvlan interface is brought up while the PF is still down: BUG: unable to handle kernel NULL pointer dereference at 0000000000000010 IP: [<ffffffffa0170fb2>] ixgbe_alloc_rx_buffers+0x42/0x1a0 [ixgbe] Call Trace: [<ffffffffa017336b>] ixgbe_configure_rx_ring+0x2eb/0x3d0 [ixgbe] [<ffffffffa0173811>] ixgbe_fwd_ring_up+0xd1/0x380 [ixgbe] [<ffffffffa0179709>] ixgbe_fwd_add+0x149/0x230 [ixgbe] [<ffffffffa0113480>] macvlan_open+0x260/0x2b0 [macvlan] Reported-by: Matthew Garrett <mjg59@coreos.com> Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
d5d32e4b76
commit
a3b8cb1f84
@ -9135,10 +9135,14 @@ static void *ixgbe_fwd_add(struct net_device *pdev, struct net_device *vdev)
|
||||
goto fwd_add_err;
|
||||
fwd_adapter->pool = pool;
|
||||
fwd_adapter->real_adapter = adapter;
|
||||
err = ixgbe_fwd_ring_up(vdev, fwd_adapter);
|
||||
if (err)
|
||||
goto fwd_add_err;
|
||||
netif_tx_start_all_queues(vdev);
|
||||
|
||||
if (netif_running(pdev)) {
|
||||
err = ixgbe_fwd_ring_up(vdev, fwd_adapter);
|
||||
if (err)
|
||||
goto fwd_add_err;
|
||||
netif_tx_start_all_queues(vdev);
|
||||
}
|
||||
|
||||
return fwd_adapter;
|
||||
fwd_add_err:
|
||||
/* unwind counter and free adapter struct */
|
||||
|
Loading…
Reference in New Issue
Block a user