提交 1cbab7f9 编写于 作者: D Dan Carpenter 提交者: openeuler-sync-bot

net: mvneta: Prevent out of bounds read in mvneta_config_rss()

stable inclusion
from stable-v5.10.159
commit 146ebee8fcdb349d7ec0e49915e6cdafb92544ae
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I7NTXH

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=146ebee8fcdb349d7ec0e49915e6cdafb92544ae

--------------------------------

[ Upstream commit e8b4fc13 ]

The pp->indir[0] value comes from the user.  It is passed to:

	if (cpu_online(pp->rxq_def))

inside the mvneta_percpu_elect() function.  It needs bounds checkeding
to ensure that it is not beyond the end of the cpu bitmap.

Fixes: cad5d847 ("net: mvneta: Fix the CPU choice in mvneta_percpu_elect")
Signed-off-by: NDan Carpenter <error27@gmail.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
Signed-off-by: NSasha Levin <sashal@kernel.org>
Signed-off-by: Nsanglipeng <sanglipeng1@jd.com>
(cherry picked from commit 423d33d0)
上级 141d219f
......@@ -4778,6 +4778,9 @@ static int mvneta_config_rss(struct mvneta_port *pp)
napi_disable(&pp->napi);
}
if (pp->indir[0] >= nr_cpu_ids)
return -EINVAL;
pp->rxq_def = pp->indir[0];
/* Update unicast mapping */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册