Hi! This set tries to make the core take care of error checking for the drivers. In particular making sure that the AF_XDP UMEM is not installed on queues which don't exist (or are disabled) and that changing queue (AKA ethtool channel) count cannot disable queues with active AF_XDF zero-copy sockets.
I'm sending as an RFC because I'm not entirely sure what the desired behaviour is here. Is it Okay to install AF_XDP on queues which don't exist? I presume not? Are the AF_XDP queue_ids referring to TX queues as well as RX queues in case of the driver? I presume not? Should we try to prevent disabling queues which have non zero-copy sockets installed as well? :S Anyway, if any of those patches seem useful and reasonable, please let me know I will repost as non-RFC. Jakub Kicinski (6): net: update real_num_rx_queues even when !CONFIG_SYSFS xsk: refactor xdp_umem_assign_dev() xsk: don't allow umem replace at stack level xsk: don't allow installing UMEM beyond the number of queues ethtool: rename local variable max -> curr ethtool: don't allow disabling queues with umem installed include/linux/netdevice.h | 16 +++++++-- net/core/ethtool.c | 19 ++++++---- net/xdp/xdp_umem.c | 73 ++++++++++++++++++++++++--------------- 3 files changed, 71 insertions(+), 37 deletions(-) -- 2.17.1