Message ID | 20240903033011.2870608-8-yukaixiong@huawei.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | sysctl: move sysctls from vm_table into its own files | expand |
On Mon, Sep 2, 2024 at 11:31 PM Kaixiong Yu <yukaixiong@huawei.com> wrote: > > The dac_mmap_min_addr belongs to min_addr.c, move it into > its own file from /kernel/sysctl.c. In the previous Linux kernel > boot process, sysctl_init_bases needs to be executed before > init_mmap_min_addr, So, register_sysctl_init should be executed > before update_mmap_min_addr in init_mmap_min_addr. And according > to the compilation condition in security/Makefile: > > obj-$(CONFIG_MMU) += min_addr.o > > if CONFIG_MMU is not defined, min_addr.c would not be included in the > compilation process. So, drop the CONFIG_MMU check. > > Signed-off-by: Kaixiong Yu <yukaixiong@huawei.com> > Reviewed-by: Kees Cook <kees@kernel.org> > --- > v2: > - update the changelog to explain why drop CONFIG_MMU check. > --- > kernel/sysctl.c | 9 --------- > security/min_addr.c | 11 +++++++++++ > 2 files changed, 11 insertions(+), 9 deletions(-) Acked-by: Paul Moore <paul@paul-moore.com>
diff --git a/kernel/sysctl.c b/kernel/sysctl.c index 41d4afc978e6..0c0bab3dad7d 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c @@ -2059,15 +2059,6 @@ static struct ctl_table vm_table[] = { .proc_handler = proc_dointvec_minmax, .extra1 = SYSCTL_ZERO, }, -#ifdef CONFIG_MMU - { - .procname = "mmap_min_addr", - .data = &dac_mmap_min_addr, - .maxlen = sizeof(unsigned long), - .mode = 0644, - .proc_handler = mmap_min_addr_handler, - }, -#endif #if (defined(CONFIG_X86_32) && !defined(CONFIG_UML))|| \ (defined(CONFIG_SUPERH) && defined(CONFIG_VSYSCALL)) { diff --git a/security/min_addr.c b/security/min_addr.c index 0ce267c041ab..b2f61649e110 100644 --- a/security/min_addr.c +++ b/security/min_addr.c @@ -44,8 +44,19 @@ int mmap_min_addr_handler(const struct ctl_table *table, int write, return ret; } +static struct ctl_table min_addr_sysctl_table[] = { + { + .procname = "mmap_min_addr", + .data = &dac_mmap_min_addr, + .maxlen = sizeof(unsigned long), + .mode = 0644, + .proc_handler = mmap_min_addr_handler, + }, +}; + static int __init init_mmap_min_addr(void) { + register_sysctl_init("vm", min_addr_sysctl_table); update_mmap_min_addr(); return 0;