summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Child <nnac123@linux.ibm.com>2023-03-21 18:07:25 +0300
committerJakub Kicinski <kuba@kernel.org>2023-03-23 08:38:25 +0300
commit1cc6571f562774f1d928dc8b3cff50829b86e970 (patch)
treeda3bb41a3d09eb114f8844fc55744a261a16bd0b
parent5dd0dfd55baec0742ba8f5625a0dd064aca7db16 (diff)
downloadlinux-1cc6571f562774f1d928dc8b3cff50829b86e970.tar.xz
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 <nnac123@linux.ibm.com> Link: https://lore.kernel.org/r/20230321150725.127229-2-nnac123@linux.ibm.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-rw-r--r--include/linux/netdevice.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 7621c512765f..674ee5daa7b1 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];
}