[mcgrof-next:20211118-sysctl-cleanups-set-04-v2 24/36] kernel/stackleak.c:62:78: error: macro "register_sysctl_init" passed 3 arguments, but takes just 2

From: kernel test robot
Date: Fri Nov 19 2021 - 11:02:19 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux-next.git 20211118-sysctl-cleanups-set-04-v2
head: 3110d41a56792588bd2f64621080948b0fceb6ab
commit: a5185a5adbc762374bffe8c30d356978470e3ce0 [24/36] stackleak: move stack_erasing sysctl to stackleak.c
config: arm64-allyesconfig (attached as .config)
compiler: aarch64-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux-next.git/commit/?id=a5185a5adbc762374bffe8c30d356978470e3ce0
git remote add mcgrof-next https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux-next.git
git fetch --no-tags mcgrof-next 20211118-sysctl-cleanups-set-04-v2
git checkout a5185a5adbc762374bffe8c30d356978470e3ce0
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arm64 SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

kernel/stackleak.c: In function 'stackleak_sysctls_init':
>> kernel/stackleak.c:62:78: error: macro "register_sysctl_init" passed 3 arguments, but takes just 2
62 | register_sysctl_init("kernel", stackleak_sysctls, "stackleak_sysctls");
| ^
In file included from include/linux/key.h:17,
from include/linux/cred.h:13,
from include/linux/sched/signal.h:10,
from include/linux/rcuwait.h:6,
from include/linux/percpu-rwsem.h:7,
from include/linux/fs.h:33,
from include/linux/huge_mm.h:8,
from include/linux/mm.h:717,
from include/linux/kallsyms.h:13,
from include/linux/ftrace.h:12,
from include/linux/kprobes.h:28,
from kernel/stackleak.c:14:
include/linux/sysctl.h:210: note: macro "register_sysctl_init" defined here
210 | #define register_sysctl_init(path, table) __register_sysctl_init(path, table, #table)
|
>> kernel/stackleak.c:62:9: error: 'register_sysctl_init' undeclared (first use in this function); did you mean 'register_sysctl_paths'?
62 | register_sysctl_init("kernel", stackleak_sysctls, "stackleak_sysctls");
| ^~~~~~~~~~~~~~~~~~~~
| register_sysctl_paths
kernel/stackleak.c:62:9: note: each undeclared identifier is reported only once for each function it appears in
kernel/stackleak.c: At top level:
kernel/stackleak.c:73:25: warning: no previous prototype for 'stackleak_erase' [-Wmissing-prototypes]
73 | asmlinkage void notrace stackleak_erase(void)
| ^~~~~~~~~~~~~~~
kernel/stackleak.c:129:49: warning: no previous prototype for 'stackleak_track_stack' [-Wmissing-prototypes]
129 | void __used __no_caller_saved_registers notrace stackleak_track_stack(void)
| ^~~~~~~~~~~~~~~~~~~~~
kernel/stackleak.c:47:25: warning: 'stackleak_sysctls' defined but not used [-Wunused-variable]
47 | static struct ctl_table stackleak_sysctls[] = {
| ^~~~~~~~~~~~~~~~~


vim +/register_sysctl_init +62 kernel/stackleak.c

59
60 static int __init stackleak_sysctls_init(void)
61 {
> 62 register_sysctl_init("kernel", stackleak_sysctls, "stackleak_sysctls");
63 return 0;
64 }
65 late_initcall(stackleak_sysctls_init);
66 #endif /* CONFIG_SYSCTL */
67

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip