comp_ctx can be NULL in a very rare case when an admin command is executed
during the execution of ena_remove().
The bug scenario is as follows:
* ena_destroy_device() sets the comp_ctx to be NULL
* An admin command is executed before executing unregister_netdev(),
this can still happen because our device can still receive callbacks
from the netdev infrastructure such as ethtool commands.
* When attempting to access the comp_ctx, the bug occurs since it's set
to NULL
Fix:
Added a check that comp_ctx is not NULL
Fixes:
|
||
|---|---|---|
| .. | ||
| ena_admin_defs.h | ||
| ena_com.c | ||
| ena_com.h | ||
| ena_common_defs.h | ||
| ena_eth_com.c | ||
| ena_eth_com.h | ||
| ena_eth_io_defs.h | ||
| ena_ethtool.c | ||
| ena_netdev.c | ||
| ena_netdev.h | ||
| ena_pci_id_tbl.h | ||
| ena_regs_defs.h | ||
| Makefile | ||