diff options
| author | saturneric <[email protected]> | 2025-12-01 11:31:10 +0000 |
|---|---|---|
| committer | saturneric <[email protected]> | 2025-12-01 11:31:10 +0000 |
| commit | fa2a26ee8b4693d3733a7d58863cb38cb0e8680e (patch) | |
| tree | 01f99691b8e34c516e435932f1353ad673bedf2e /drivers/net/ethernet/qlogic/qede/qede_fp.c | |
| parent | fix(driver): sync specific drivers from rpi upstream (diff) | |
| parent | Linux 6.18 (diff) | |
| download | kernel-main.tar.gz kernel-main.zip | |
Merge tag 'v6.18' into linux-6.18.yHEADmainlinux-6.18.y
Linux 6.18
Diffstat (limited to 'drivers/net/ethernet/qlogic/qede/qede_fp.c')
| -rw-r--r-- | drivers/net/ethernet/qlogic/qede/qede_fp.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/ethernet/qlogic/qede/qede_fp.c b/drivers/net/ethernet/qlogic/qede/qede_fp.c index 847fa62c80df..e338bfc8b7b2 100644 --- a/drivers/net/ethernet/qlogic/qede/qede_fp.c +++ b/drivers/net/ethernet/qlogic/qede/qede_fp.c @@ -4,6 +4,7 @@ * Copyright (c) 2019-2020 Marvell International Ltd. */ +#include <linux/array_size.h> #include <linux/netdevice.h> #include <linux/etherdevice.h> #include <linux/skbuff.h> @@ -960,7 +961,7 @@ static inline void qede_tpa_cont(struct qede_dev *edev, { int i; - for (i = 0; cqe->len_list[i]; i++) + for (i = 0; cqe->len_list[i] && i < ARRAY_SIZE(cqe->len_list); i++) qede_fill_frag_skb(edev, rxq, cqe->tpa_agg_index, le16_to_cpu(cqe->len_list[i])); @@ -985,7 +986,7 @@ static int qede_tpa_end(struct qede_dev *edev, dma_unmap_page(rxq->dev, tpa_info->buffer.mapping, PAGE_SIZE, rxq->data_direction); - for (i = 0; cqe->len_list[i]; i++) + for (i = 0; cqe->len_list[i] && i < ARRAY_SIZE(cqe->len_list); i++) qede_fill_frag_skb(edev, rxq, cqe->tpa_agg_index, le16_to_cpu(cqe->len_list[i])); if (unlikely(i > 1)) |
