mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-14 11:46:46 +07:00
netvsc: fix error unwind on device setup failure
If setting receive buffer fails, the error unwind would cause kernel panic because it was not correctly doing RCU and NAPI unwind. RCU'd pointer needs to be reset to NULL, and NAPI needs to be disabled not deleted. Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
7426b1a518
commit
493933472d
@ -1307,7 +1307,8 @@ struct netvsc_device *netvsc_device_add(struct hv_device *device,
|
||||
return net_device;
|
||||
|
||||
close:
|
||||
netif_napi_del(&net_device->chan_table[0].napi);
|
||||
RCU_INIT_POINTER(net_device_ctx->nvdev, NULL);
|
||||
napi_disable(&net_device->chan_table[0].napi);
|
||||
|
||||
/* Now, we can close the channel safely */
|
||||
vmbus_close(device->channel);
|
||||
|
Loading…
Reference in New Issue
Block a user