mirror of https://gitee.com/openkylin/linux.git
b425e24a93
The number of queues can change by other means, rather than ethtool. For example, attaching an mqprio qdisc with num_tc > 1 leads to creating multiple sets of TX queues, which may be then destroyed when mqprio is deleted. If an AF_XDP socket is created while mqprio is active, dev->_tx[queue_id].pool will be filled, but then real_num_tx_queues may decrease with deletion of mqprio, which will mean that the pool won't be NULLed, and a further increase of the number of TX queues may expose a dangling pointer. To avoid any potential misbehavior, this commit clears pool for RX and TX queues, regardless of real_num_*_queues, still taking into consideration num_*_queues to avoid overflows. Fixes: |
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
xdp_umem.c | ||
xdp_umem.h | ||
xsk.c | ||
xsk.h | ||
xsk_buff_pool.c | ||
xsk_diag.c | ||
xsk_queue.c | ||
xsk_queue.h | ||
xskmap.c |