mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
5a508a254b
There is a race between driver code that does setup/cleanup of device
and devlink reload operation that in some drivers works with the same
code. Use after free could we easily obtained by running:
while true; do
echo "0000:00:10.0" >/sys/bus/pci/drivers/mlxsw_spectrum2/bind
devlink dev reload pci/0000:00:10.0 &
echo "0000:00:10.0" >/sys/bus/pci/drivers/mlxsw_spectrum2/unbind
done
Fix this by enabling reload only after setup of device is complete and
disabling it at the beginning of the cleanup process.
Reported-by: Ido Schimmel <idosch@mellanox.com>
Fixes:
|
||
---|---|---|
.. | ||
alloc.c | ||
catas.c | ||
cmd.c | ||
cq.c | ||
crdump.c | ||
en_clock.c | ||
en_cq.c | ||
en_dcb_nl.c | ||
en_ethtool.c | ||
en_main.c | ||
en_netdev.c | ||
en_port.c | ||
en_port.h | ||
en_resources.c | ||
en_rx.c | ||
en_selftest.c | ||
en_tx.c | ||
eq.c | ||
fw_qos.c | ||
fw_qos.h | ||
fw.c | ||
fw.h | ||
icm.c | ||
icm.h | ||
intf.c | ||
Kconfig | ||
main.c | ||
Makefile | ||
mcg.c | ||
mlx4_en.h | ||
mlx4_stats.h | ||
mlx4.h | ||
mr.c | ||
pd.c | ||
port.c | ||
profile.c | ||
qp.c | ||
reset.c | ||
resource_tracker.c | ||
sense.c | ||
srq.c |