From: Nick Child Date: Tue, 21 Mar 2023 15:07:25 +0000 (-0500) Subject: netdev: Enforce index cap in netdev_get_tx_queue X-Git-Tag: v6.4-rc1~132^2~227 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1cc6571f562774f1d928dc8b3cff50829b86e970;p=thirdparty%2Flinux.git netdev: Enforce index cap in netdev_get_tx_queue When requesting a TX queue at a given index, warn on out-of-bounds referencing if the index is greater than the allocated number of queues. Specifically, since this function is used heavily in the networking stack use DEBUG_NET_WARN_ON_ONCE to avoid executing a new branch on every packet. Signed-off-by: Nick Child Link: https://lore.kernel.org/r/20230321150725.127229-2-nnac123@linux.ibm.com Signed-off-by: Jakub Kicinski --- diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 7621c512765f7..674ee5daa7b1c 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -2484,6 +2484,7 @@ static inline struct netdev_queue *netdev_get_tx_queue(const struct net_device *dev, unsigned int index) { + DEBUG_NET_WARN_ON_ONCE(index >= dev->num_tx_queues); return &dev->_tx[index]; }