* [android-common:android17-6.18-lts 0/1] kernel/kstack_erase.c:34:56: sparse: sparse: incorrect type in argument 3 (different address spaces)
@ 2026-05-14 12:17 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-05-14 12:17 UTC (permalink / raw)
To: cros-kernel-buildreports; +Cc: oe-kbuild-all
Hi Kees,
First bad commit (maybe != root cause):
tree: https://android.googlesource.com/kernel/common android17-6.18-lts
head: e99aab26ecd1f3967045b8c07aa8e13e301ed770
commit: 57fbad15c2eee77276a541c616589b32976d2b8e [0/1] stackleak: Rename STACKLEAK to KSTACK_ERASE
config: x86_64-randconfig-121-20260514 (https://download.01.org/0day-ci/archive/20260514/202605142057.GTnVsZ74-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
sparse: v0.6.5-rc1
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260514/202605142057.GTnVsZ74-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Fixes: 57fbad15c2ee ("stackleak: Rename STACKLEAK to KSTACK_ERASE")
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202605142057.GTnVsZ74-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> kernel/kstack_erase.c:34:56: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected void * @@ got void [noderef] __user *buffer @@
kernel/kstack_erase.c:34:56: sparse: expected void *
kernel/kstack_erase.c:34:56: sparse: got void [noderef] __user *buffer
>> kernel/kstack_erase.c:54:35: sparse: sparse: incorrect type in initializer (incompatible argument 3 (different address spaces)) @@ expected int ( [usertype] *proc_handler )( ... ) @@ got int ( * )( ... ) @@
kernel/kstack_erase.c:54:35: sparse: expected int ( [usertype] *proc_handler )( ... )
kernel/kstack_erase.c:54:35: sparse: got int ( * )( ... )
vim +34 kernel/kstack_erase.c
964c9dff0091893 kernel/stackleak.c Alexander Popov 2018-08-17 23
0df8bdd5e3b3e55 kernel/stackleak.c Xiaoming Ni 2022-01-21 24 #ifdef CONFIG_SYSCTL
78eb4ea25cd5fdb kernel/stackleak.c Joel Granados 2024-07-24 25 static int stack_erasing_sysctl(const struct ctl_table *table, int write,
0df8bdd5e3b3e55 kernel/stackleak.c Xiaoming Ni 2022-01-21 26 void __user *buffer, size_t *lenp, loff_t *ppos)
964c9dff0091893 kernel/stackleak.c Alexander Popov 2018-08-17 27 {
964c9dff0091893 kernel/stackleak.c Alexander Popov 2018-08-17 28 int ret = 0;
964c9dff0091893 kernel/stackleak.c Alexander Popov 2018-08-17 29 int state = !static_branch_unlikely(&stack_erasing_bypass);
964c9dff0091893 kernel/stackleak.c Alexander Popov 2018-08-17 30 int prev_state = state;
0e148d3cca0dc1a kernel/stackleak.c Thomas Weißschuh 2024-05-03 31 struct ctl_table table_copy = *table;
964c9dff0091893 kernel/stackleak.c Alexander Popov 2018-08-17 32
0e148d3cca0dc1a kernel/stackleak.c Thomas Weißschuh 2024-05-03 33 table_copy.data = &state;
0e148d3cca0dc1a kernel/stackleak.c Thomas Weißschuh 2024-05-03 @34 ret = proc_dointvec_minmax(&table_copy, write, buffer, lenp, ppos);
964c9dff0091893 kernel/stackleak.c Alexander Popov 2018-08-17 35 state = !!state;
964c9dff0091893 kernel/stackleak.c Alexander Popov 2018-08-17 36 if (ret || !write || state == prev_state)
964c9dff0091893 kernel/stackleak.c Alexander Popov 2018-08-17 37 return ret;
964c9dff0091893 kernel/stackleak.c Alexander Popov 2018-08-17 38
964c9dff0091893 kernel/stackleak.c Alexander Popov 2018-08-17 39 if (state)
964c9dff0091893 kernel/stackleak.c Alexander Popov 2018-08-17 40 static_branch_disable(&stack_erasing_bypass);
964c9dff0091893 kernel/stackleak.c Alexander Popov 2018-08-17 41 else
964c9dff0091893 kernel/stackleak.c Alexander Popov 2018-08-17 42 static_branch_enable(&stack_erasing_bypass);
964c9dff0091893 kernel/stackleak.c Alexander Popov 2018-08-17 43
964c9dff0091893 kernel/stackleak.c Alexander Popov 2018-08-17 44 pr_warn("stackleak: kernel stack erasing is %s\n",
62e9c1e8ecee87a kernel/stackleak.c Thorsten Blum 2024-12-22 45 str_enabled_disabled(state));
964c9dff0091893 kernel/stackleak.c Alexander Popov 2018-08-17 46 return ret;
964c9dff0091893 kernel/stackleak.c Alexander Popov 2018-08-17 47 }
1751f872cc97f99 kernel/stackleak.c Joel Granados 2025-01-28 48 static const struct ctl_table stackleak_sysctls[] = {
0df8bdd5e3b3e55 kernel/stackleak.c Xiaoming Ni 2022-01-21 49 {
0df8bdd5e3b3e55 kernel/stackleak.c Xiaoming Ni 2022-01-21 50 .procname = "stack_erasing",
0df8bdd5e3b3e55 kernel/stackleak.c Xiaoming Ni 2022-01-21 51 .data = NULL,
0df8bdd5e3b3e55 kernel/stackleak.c Xiaoming Ni 2022-01-21 52 .maxlen = sizeof(int),
0df8bdd5e3b3e55 kernel/stackleak.c Xiaoming Ni 2022-01-21 53 .mode = 0600,
0df8bdd5e3b3e55 kernel/stackleak.c Xiaoming Ni 2022-01-21 @54 .proc_handler = stack_erasing_sysctl,
0df8bdd5e3b3e55 kernel/stackleak.c Xiaoming Ni 2022-01-21 55 .extra1 = SYSCTL_ZERO,
0df8bdd5e3b3e55 kernel/stackleak.c Xiaoming Ni 2022-01-21 56 .extra2 = SYSCTL_ONE,
0df8bdd5e3b3e55 kernel/stackleak.c Xiaoming Ni 2022-01-21 57 },
0df8bdd5e3b3e55 kernel/stackleak.c Xiaoming Ni 2022-01-21 58 };
0df8bdd5e3b3e55 kernel/stackleak.c Xiaoming Ni 2022-01-21 59
:::::: The code at line 34 was first introduced by commit
:::::: 0e148d3cca0dc1a7c6063939f6cb9ba4866c39a7 stackleak: Use a copy of the ctl_table argument
:::::: TO: Thomas Weißschuh <linux@weissschuh.net>
:::::: CC: Kees Cook <keescook@chromium.org>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-05-14 12:18 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-14 12:17 [android-common:android17-6.18-lts 0/1] kernel/kstack_erase.c:34:56: sparse: sparse: incorrect type in argument 3 (different address spaces) kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.