diff options
| author | Nick Child <[email protected]> | 2023-03-21 10:07:25 -0500 |
|---|---|---|
| committer | Jakub Kicinski <[email protected]> | 2023-03-22 22:38:25 -0700 |
| commit | 1cc6571f562774f1d928dc8b3cff50829b86e970 (patch) | |
| tree | da3bb41a3d09eb114f8844fc55744a261a16bd0b /include/linux | |
| parent | 5dd0dfd55baec0742ba8f5625a0dd064aca7db16 (diff) | |
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 <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Jakub Kicinski <[email protected]>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/netdevice.h | 1 |
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]; } |