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

yukaixiong <[email protected]>
Newsgroups gmane.linux.kernel.lsm,gmane.linux.ports.sh.devel,gmane.linux.kernel,gmane.linux.file-systems,gmane.linux.kernel.mm,gmane.linux.nfs,gmane.linux.network
Message-ID <[email protected]>

On 2025/1/6 19:59, Joel Granados wrote:
> 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.
>
Thank you for your advice ! I will modify it in series patches v5.
>> -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
>>
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.