]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - queue-6.6/octeontx2-af-add-array-index-check.patch
57ba30ee3d462a3679ac563ece5c494456edc5e9
[thirdparty/kernel/stable-queue.git] / queue-6.6 / octeontx2-af-add-array-index-check.patch
1 From ef15ddeeb6bee87c044bf7754fac524545bf71e8 Mon Sep 17 00:00:00 2001
2 From: Aleksandr Mishin <amishin@t-argos.ru>
3 Date: Thu, 28 Mar 2024 19:55:05 +0300
4 Subject: octeontx2-af: Add array index check
5
6 From: Aleksandr Mishin <amishin@t-argos.ru>
7
8 commit ef15ddeeb6bee87c044bf7754fac524545bf71e8 upstream.
9
10 In rvu_map_cgx_lmac_pf() the 'iter', which is used as an array index, can reach
11 value (up to 14) that exceed the size (MAX_LMAC_COUNT = 8) of the array.
12 Fix this bug by adding 'iter' value check.
13
14 Found by Linux Verification Center (linuxtesting.org) with SVACE.
15
16 Fixes: 91c6945ea1f9 ("octeontx2-af: cn10k: Add RPM MAC support")
17 Signed-off-by: Aleksandr Mishin <amishin@t-argos.ru>
18 Signed-off-by: David S. Miller <davem@davemloft.net>
19 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
20 ---
21 drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c | 2 ++
22 1 file changed, 2 insertions(+)
23
24 --- a/drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c
25 +++ b/drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c
26 @@ -160,6 +160,8 @@ static int rvu_map_cgx_lmac_pf(struct rv
27 continue;
28 lmac_bmap = cgx_get_lmac_bmap(rvu_cgx_pdata(cgx, rvu));
29 for_each_set_bit(iter, &lmac_bmap, rvu->hw->lmac_per_cgx) {
30 + if (iter >= MAX_LMAC_COUNT)
31 + continue;
32 lmac = cgx_get_lmacid(rvu_cgx_pdata(cgx, rvu),
33 iter);
34 rvu->pf2cgxlmac_map[pf] = cgxlmac_id_to_bmap(cgx, lmac);