On Fri, May 29, 2020 at 07:41:08AM +0000, Luis Chamberlain wrote:
> This moves the binfmt_misc sysctl to its own file to help remove
> clutter from kernel/sysctl.c.
> 
> Signed-off-by: Luis Chamberlain <mcg...@kernel.org>
> ---
>  fs/binfmt_misc.c | 1 +
>  kernel/sysctl.c  | 7 -------
>  2 files changed, 1 insertion(+), 7 deletions(-)
> 
> diff --git a/fs/binfmt_misc.c b/fs/binfmt_misc.c
> index f69a043f562b..656b3f5f3bbf 100644
> --- a/fs/binfmt_misc.c
> +++ b/fs/binfmt_misc.c
> @@ -821,6 +821,7 @@ static int __init init_misc_binfmt(void)
>       int err = register_filesystem(&bm_fs_type);
>       if (!err)
>               insert_binfmt(&misc_format);
> +     register_sysctl_empty_subdir("fs", "binfmt_misc");
>       return err;

Nit: let's make the dir before registering the filesystem. I can't
imagine a realistic situation where userspace is reacting so fast it
would actually fail to mount the fs on /proc/sys/fs/binfmt_misc, but why
risk it?

-Kees

>  }
>  
> diff --git a/kernel/sysctl.c b/kernel/sysctl.c
> index 460532cd5ac8..7714e7b476c2 100644
> --- a/kernel/sysctl.c
> +++ b/kernel/sysctl.c
> @@ -3042,13 +3042,6 @@ static struct ctl_table fs_table[] = {
>               .extra1         = SYSCTL_ZERO,
>               .extra2         = SYSCTL_TWO,
>       },
> -#if defined(CONFIG_BINFMT_MISC) || defined(CONFIG_BINFMT_MISC_MODULE)
> -     {
> -             .procname       = "binfmt_misc",
> -             .mode           = 0555,
> -             .child          = sysctl_mount_point,
> -     },
> -#endif
>       {
>               .procname       = "pipe-max-size",
>               .data           = &pipe_max_size,
> -- 
> 2.26.2
> 

-- 
Kees Cook

Reply via email to