mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 17:47:41 +02:00
qede: fix out-of-bounds check for cqe->len_list[]
Move index check before element access.
Fixes: 896f1a2493 ("net: qlogic/qede: fix potential out-of-bounds read in qede_tpa_cont() and qede_tpa_end()")
Signed-off-by: Matvey Kovalev <matvey.kovalev@ispras.ru>
Link: https://patch.msgid.link/20260623144602.3521-1-matvey.kovalev@ispras.ru
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
a75d99f46b
commit
f9ba47fce5
|
|
@ -961,7 +961,7 @@ static inline void qede_tpa_cont(struct qede_dev *edev,
|
|||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; cqe->len_list[i] && i < ARRAY_SIZE(cqe->len_list); i++)
|
||||
for (i = 0; i < ARRAY_SIZE(cqe->len_list) && cqe->len_list[i]; i++)
|
||||
qede_fill_frag_skb(edev, rxq, cqe->tpa_agg_index,
|
||||
le16_to_cpu(cqe->len_list[i]));
|
||||
|
||||
|
|
@ -986,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 < ARRAY_SIZE(cqe->len_list); i++)
|
||||
for (i = 0; i < ARRAY_SIZE(cqe->len_list) && cqe->len_list[i]; i++)
|
||||
qede_fill_frag_skb(edev, rxq, cqe->tpa_agg_index,
|
||||
le16_to_cpu(cqe->len_list[i]));
|
||||
if (unlikely(i > 1))
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user