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:
|
||
---|---|---|
.. | ||
Makefile | ||
bpf.c | ||
bus.c | ||
dev.c | ||
fib.c | ||
ipsec.c | ||
netdev.c | ||
netdevsim.h | ||
sdev.c |