Re: [PATCH v4 -next 14/15] sh: vdso: move the sysctl to arch/sh/kernel/vsyscall/vsyscall.c

Joel Granados <[email protected]>
Newsgroups gmane.linux.ports.sh.devel,gmane.linux.kernel,gmane.linux.file-systems,gmane.linux.kernel.mm,gmane.linux.nfs,gmane.linux.network,gmane.linux.kernel.lsm
Message-ID <eiskmyz22ckjfmsxztt7a6m7e4sktp226j4hjktuggyqb4jirc@2rqxvgoq4v55>
On Sat, Dec 28, 2024 at 10:57:45PM +0800, Kaixiong Yu wrote:
> When CONFIG_SUPERH and CONFIG_VSYSCALL are defined,
> vdso_enabled belongs to arch/sh/kernel/vsyscall/vsyscall.c.
> So, move it into its own file. After this patch is applied,
> all sysctls of vm_table would be moved. So, delete vm_table.
> 
> Signed-off-by: Kaixiong Yu <[email protected]>
> Reviewed-by: Kees Cook <[email protected]>
> ---
> v4:
>  - const qualify struct ctl_table vdso_table
> v3:
>  - change the title
> ---
> ---
>  arch/sh/kernel/vsyscall/vsyscall.c | 14 ++++++++++++++
>  kernel/sysctl.c                    | 14 --------------
>  2 files changed, 14 insertions(+), 14 deletions(-)
> 
> diff --git a/arch/sh/kernel/vsyscall/vsyscall.c b/arch/sh/kernel/vsyscall/vsyscall.c
> index add35c51e017..898132f34e6a 100644
> --- a/arch/sh/kernel/vsyscall/vsyscall.c
> +++ b/arch/sh/kernel/vsyscall/vsyscall.c
> @@ -14,6 +14,7 @@
>  #include <linux/module.h>
>  #include <linux/elf.h>
>  #include <linux/sched.h>
> +#include <linux/sysctl.h>
>  #include <linux/err.h>
>  
>  /*
> @@ -30,6 +31,17 @@ static int __init vdso_setup(char *s)
>  }
>  __setup("vdso=", vdso_setup);
>  
> +static const struct ctl_table vdso_table[] = {
> +	{
> +		.procname	= "vdso_enabled",
> +		.data		= &vdso_enabled,
> +		.maxlen		= sizeof(vdso_enabled),
> +		.mode		= 0644,
> +		.proc_handler	= proc_dointvec,
> +		.extra1		= SYSCTL_ZERO,
> +	},
> +};
> +
>  /*
>   * These symbols are defined by vsyscall.o to mark the bounds
>   * of the ELF DSO images included therein.
> @@ -55,6 +67,8 @@ int __init vsyscall_init(void)
>  	       &vsyscall_trapa_start,
>  	       &vsyscall_trapa_end - &vsyscall_trapa_start);
>  
> +	register_sysctl_init("vm", vdso_table);
> +
>  	return 0;
>  }
>  
> diff --git a/kernel/sysctl.c b/kernel/sysctl.c
> index 7ff07b7560b4..cebd0ef5d19d 100644
> --- a/kernel/sysctl.c
> +++ b/kernel/sysctl.c
> @@ -2012,23 +2012,9 @@ static struct ctl_table kern_table[] = {
>  #endif
>  };
>  
As you mentioned in the commit message, this patch has two objectives.
1. It moves the vdso_enabled table and 2. It removes the vm_table.
Please separate these two in such a way that the second (removal of
vm_table) can be done at the end and is not related to any particular
table under vm_table. I prefer it that way so that the removal of
vm_table does not block the upstreaming of a move that is already
reviewed and ready.


> -static struct ctl_table vm_table[] = {
> -#if defined(CONFIG_SUPERH) && defined(CONFIG_VSYSCALL)
> -	{
> -		.procname	= "vdso_enabled",
> -		.data		= &vdso_enabled,
> -		.maxlen		= sizeof(vdso_enabled),
> -		.mode		= 0644,
> -		.proc_handler	= proc_dointvec,
> -		.extra1		= SYSCTL_ZERO,
> -	},
> -#endif
> -};
> -
>  int __init sysctl_init_bases(void)
>  {
>  	register_sysctl_init("kernel", kern_table);
> -	register_sysctl_init("vm", vm_table);
>  
>  	return 0;
>  }
> -- 
> 2.34.1
> 

-- 

Joel Granados
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.