Message ID | 20230321150725.127229-1-nnac123@linux.ibm.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 5dd0dfd55baec0742ba8f5625a0dd064aca7db16 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net-next,v2,1/2] net: Catch invalid index in XPS mapping | expand |
Hello: This series was applied to netdev/net-next.git (main) by Jakub Kicinski <kuba@kernel.org>: On Tue, 21 Mar 2023 10:07:24 -0500 you wrote: > When setting the XPS value of a TX queue, warn the user once if the > index of the queue is greater than the number of allocated TX queues. > > Previously, this scenario went uncaught. In the best case, it resulted > in unnecessary allocations. In the worst case, it resulted in > out-of-bounds memory references through calls to `netdev_get_tx_queue( > dev, index)`. Therefore, it is important to inform the user but not > worth returning an error and risk downing the netdevice. > > [...] Here is the summary with links: - [net-next,v2,1/2] net: Catch invalid index in XPS mapping https://git.kernel.org/netdev/net-next/c/5dd0dfd55bae - [net-next,v2,2/2] netdev: Enforce index cap in netdev_get_tx_queue https://git.kernel.org/netdev/net-next/c/1cc6571f5627 You are awesome, thank you!
diff --git a/net/core/dev.c b/net/core/dev.c index c7853192563d..c278beee6792 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -2535,6 +2535,8 @@ int __netif_set_xps_queue(struct net_device *dev, const unsigned long *mask, struct xps_map *map, *new_map; unsigned int nr_ids; + WARN_ON_ONCE(index >= dev->num_tx_queues); + if (dev->num_tc) { /* Do not allow XPS on subordinate device directly */ num_tc = dev->num_tc;