Revision cdd97383e19d4afe29adc3376025a15ae3bab3a3 authored by Dan Carpenter on 07 December 2022, 07:06:31 UTC, committed by Jakub Kicinski on 08 December 2022, 17:09:36 UTC
In an earlier commit, I added a bounds check to prevent an out of bounds read and a WARN(). On further discussion and consideration that check was probably too aggressive. Instead of returning -EINVAL, a better fix would be to just prevent the out of bounds read but continue the process. Background: The value of "pp->rxq_def" is a number between 0-7 by default, or even higher depending on the value of "rxq_number", which is a module parameter. If the value is more than the number of available CPUs then it will trigger the WARN() in cpu_max_bits_warn(). Fixes: e8b4fc13900b ("net: mvneta: Prevent out of bounds read in mvneta_config_rss()") Signed-off-by: Dan Carpenter <error27@gmail.com> Reviewed-by: Leon Romanovsky <leonro@nvidia.com> Link: https://lore.kernel.org/r/Y5A7d1E5ccwHTYPf@kadam Signed-off-by: Jakub Kicinski <kuba@kernel.org>
1 parent ed14e59
sysctls.c
// SPDX-License-Identifier: GPL-2.0
/*
* /proc/sys/fs shared sysctls
*
* These sysctls are shared between different filesystems.
*/
#include <linux/init.h>
#include <linux/sysctl.h>
static struct ctl_table fs_shared_sysctls[] = {
{
.procname = "overflowuid",
.data = &fs_overflowuid,
.maxlen = sizeof(int),
.mode = 0644,
.proc_handler = proc_dointvec_minmax,
.extra1 = SYSCTL_ZERO,
.extra2 = SYSCTL_MAXOLDUID,
},
{
.procname = "overflowgid",
.data = &fs_overflowgid,
.maxlen = sizeof(int),
.mode = 0644,
.proc_handler = proc_dointvec_minmax,
.extra1 = SYSCTL_ZERO,
.extra2 = SYSCTL_MAXOLDUID,
},
{ }
};
DECLARE_SYSCTL_BASE(fs, fs_shared_sysctls);
static int __init init_fs_sysctls(void)
{
return register_sysctl_base(fs);
}
early_initcall(init_fs_sysctls);
Computing file changes ...