[PATCH net-next] net: prestera: acl: fix 'client_map' buff overflow

Subsystems: marvell prestera ethernet switch driver, networking drivers, the rest

STALE1686d

2 messages, 2 authors, 2022-02-19 · open the first message on its own page

[PATCH net-next] net: prestera: acl: fix 'client_map' buff overflow

From: Volodymyr Mytnyk <hidden>
Date: 2022-02-18 12:29:29

From: Volodymyr Mytnyk <redacted>

smatch warnings:
drivers/net/ethernet/marvell/prestera/prestera_acl.c:103
prestera_acl_chain_to_client() error: buffer overflow
'client_map' 3 <= 3

	prestera_acl_chain_to_client(u32 chain_index, ...)
        ...
	u32 client_map[] = {
		PRESTERA_HW_COUNTER_CLIENT_LOOKUP_0,
		PRESTERA_HW_COUNTER_CLIENT_LOOKUP_1,
		PRESTERA_HW_COUNTER_CLIENT_LOOKUP_2
	};
	if (chain_index > ARRAY_SIZE(client_map))
	...

Fixes: fa5d824ce5dd ("net: prestera: acl: add multi-chain support offload")
Reported-by: kernel test robot <redacted>
Reported-by: Dan Carpenter <redacted>
Signed-off-by: Volodymyr Mytnyk <redacted>
---
 drivers/net/ethernet/marvell/prestera/prestera_acl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/marvell/prestera/prestera_acl.c b/drivers/net/ethernet/marvell/prestera/prestera_acl.c
index 06303e31b32a..e4af8a503277 100644
--- a/drivers/net/ethernet/marvell/prestera/prestera_acl.c
+++ b/drivers/net/ethernet/marvell/prestera/prestera_acl.c
@@ -97,7 +97,7 @@ int prestera_acl_chain_to_client(u32 chain_index, u32 *client)
 		PRESTERA_HW_COUNTER_CLIENT_LOOKUP_2
 	};
 
-	if (chain_index > ARRAY_SIZE(client_map))
+	if (chain_index >= ARRAY_SIZE(client_map))
 		return -EINVAL;
 
 	*client = client_map[chain_index];
-- 
2.7.4

Re: [PATCH net-next] net: prestera: acl: fix 'client_map' buff overflow

From: patchwork-bot+netdevbpf@kernel.org
Date: 2022-02-19 19:00:27

Hello:

This patch was applied to netdev/net-next.git (master)
by David S. Miller [off-list ref]:

On Fri, 18 Feb 2022 14:29:11 +0200 you wrote:
From: Volodymyr Mytnyk <redacted>

smatch warnings:
drivers/net/ethernet/marvell/prestera/prestera_acl.c:103
prestera_acl_chain_to_client() error: buffer overflow
'client_map' 3 <= 3

[...]
Here is the summary with links:
  - [net-next] net: prestera: acl: fix 'client_map' buff overflow
    https://git.kernel.org/netdev/net-next/c/48c77bdf729a

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help