Message ID | 20240604-jag-sysctl_remset-v1-8-2df7ecdba0bd@samsung.com (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | [1/8] locking: Remove superfluous sentinel element from kern_lockdep_table | expand |
Context | Check | Description |
---|---|---|
netdev/tree_selection | success | Not a local patch |
On Tue, Jun 04, 2024 at 08:29:26AM +0200, Joel Granados via B4 Relay wrote: > From: Joel Granados <j.granados@samsung.com> > > Add a pr_err warning in case a ctl_table is registered with a sentinel > element containing a NULL procname. > > Signed-off-by: Joel Granados <j.granados@samsung.com> > --- > fs/proc/proc_sysctl.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/fs/proc/proc_sysctl.c b/fs/proc/proc_sysctl.c > index 806700b70dea..f65098de5fcb 100644 > --- a/fs/proc/proc_sysctl.c > +++ b/fs/proc/proc_sysctl.c > @@ -1119,6 +1119,8 @@ static int sysctl_check_table(const char *path, struct ctl_table_header *header) > struct ctl_table *entry; > int err = 0; > list_for_each_table_entry(entry, header) { > + if (!entry->procname) > + err |= sysctl_err(path, entry, "procname is null"); > if ((entry->proc_handler == proc_dostring) || > (entry->proc_handler == proc_dobool) || > (entry->proc_handler == proc_dointvec) || > > -- > 2.43.0 > > To add to this check, I sent out a static analysis check to smatch in such a way that a warning will be printed out if there is a ctl_table element with a procname or prog_handler that are NULL. You can see it here https://lore.kernel.org/all/20240614-master-v1-1-c652f5aa15fb@samsung.com/ Best
diff --git a/fs/proc/proc_sysctl.c b/fs/proc/proc_sysctl.c index 806700b70dea..f65098de5fcb 100644 --- a/fs/proc/proc_sysctl.c +++ b/fs/proc/proc_sysctl.c @@ -1119,6 +1119,8 @@ static int sysctl_check_table(const char *path, struct ctl_table_header *header) struct ctl_table *entry; int err = 0; list_for_each_table_entry(entry, header) { + if (!entry->procname) + err |= sysctl_err(path, entry, "procname is null"); if ((entry->proc_handler == proc_dostring) || (entry->proc_handler == proc_dobool) || (entry->proc_handler == proc_dointvec) ||