seccomp: simplify sysctls with register_sysctl_init()
authorLuis Chamberlain <mcgrof@kernel.org>
Thu, 2 Mar 2023 20:28:22 +0000 (12:28 -0800)
committerLuis Chamberlain <mcgrof@kernel.org>
Thu, 13 Apr 2023 18:49:20 +0000 (11:49 -0700)
register_sysctl_paths() is only needed if you have childs (directories)
with entries. Just use register_sysctl_init() as it also does the
kmemleak check for you.

Acked-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
kernel/seccomp.c

index cebf264..d3e5840 100644 (file)
@@ -2368,12 +2368,6 @@ static int seccomp_actions_logged_handler(struct ctl_table *ro_table, int write,
        return ret;
 }
 
-static struct ctl_path seccomp_sysctl_path[] = {
-       { .procname = "kernel", },
-       { .procname = "seccomp", },
-       { }
-};
-
 static struct ctl_table seccomp_sysctl_table[] = {
        {
                .procname       = "actions_avail",
@@ -2392,14 +2386,7 @@ static struct ctl_table seccomp_sysctl_table[] = {
 
 static int __init seccomp_sysctl_init(void)
 {
-       struct ctl_table_header *hdr;
-
-       hdr = register_sysctl_paths(seccomp_sysctl_path, seccomp_sysctl_table);
-       if (!hdr)
-               pr_warn("sysctl registration failed\n");
-       else
-               kmemleak_not_leak(hdr);
-
+       register_sysctl_init("kernel/seccomp", seccomp_sysctl_table);
        return 0;
 }