Re: [PATCH 8/8] sysctl: Warn on an empty procname element

From: Joel Granados
Date: Fri Jun 14 2024 - 09:01:57 EST


On Tue, Jun 04, 2024 at 08:29:26AM +0200, Joel Granados via B4 Relay wrote:
> From: Joel Granados <j.granados@xxxxxxxxxxx>
>
> 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@xxxxxxxxxxx>
> ---
> 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@xxxxxxxxxxx/

Best
--

Joel Granados