2024-04-15 05:31:07

by kernel test robot

[permalink] [raw]
Subject: [kpsingh:static_calls] [security] 9e15595ed0: Kernel_panic-not_syncing:lsm_static_call_init-Ran_out_of_static_slots



Hello,

kernel test robot noticed "Kernel_panic-not_syncing:lsm_static_call_init-Ran_out_of_static_slots" on:

commit: 9e15595ed016dc9b726b7b13ec3d9b92b9e53c68 ("security: Replace indirect LSM hook calls with static calls")
https://git.kernel.org/cgit/linux/kernel/git/kpsingh/linux.git static_calls

in testcase: boot

compiler: clang-17
test machine: qemu-system-i386 -enable-kvm -cpu SandyBridge -smp 2 -m 4G

(please refer to attached dmesg/kmsg for entire log/backtrace)


+-----------------------------------------------------------------------+------------+------------+
| | e2f2a7e74d | 9e15595ed0 |
+-----------------------------------------------------------------------+------------+------------+
| Kernel_panic-not_syncing:lsm_static_call_init-Ran_out_of_static_slots | 0 | 12 |
+-----------------------------------------------------------------------+------------+------------+


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
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-lkp/[email protected]


[ 1.020355][ T0] x86/fpu: xstate_offset[2]: 576, xstate_sizes[2]: 256
[ 1.020966][ T0] x86/fpu: Enabled xstate features 0x7, context size is 832 bytes, using 'standard' format.
[ 1.022632][ T0] Freeing SMP alternatives memory: 32K
[ 1.023145][ T0] pid_max: default: 32768 minimum: 301
[ 1.025772][ T0] LSM: initializing lsm=capability,ima
[ 1.027282][ T0] Kernel panic - not syncing: lsm_static_call_init - Ran out of static slots.
[ 1.028283][ T0] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G T 6.9.0-rc1-00003-g9e15595ed016 #1
[ 1.028948][ T0] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
[ 1.028948][ T0] Call Trace:
[ 1.028948][ T0] dump_stack_lvl (kbuild/src/consumer/lib/dump_stack.c:116)
[ 1.028948][ T0] ? vprintk (kbuild/src/consumer/kernel/printk/printk_safe.c:?)
[ 1.028948][ T0] dump_stack (kbuild/src/consumer/lib/dump_stack.c:123)
[ 1.028948][ T0] panic (kbuild/src/consumer/kernel/panic.c:369)
[ 1.028948][ T0] lsm_static_call_init (kbuild/src/consumer/security/security.c:415)


The kernel config and materials to reproduce are available at:
https://download.01.org/0day-ci/archive/20240415/[email protected]



--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki



2024-04-15 08:40:08

by KP Singh

[permalink] [raw]
Subject: Re: [kpsingh:static_calls] [security] 9e15595ed0: Kernel_panic-not_syncing:lsm_static_call_init-Ran_out_of_static_slots



> On 15 Apr 2024, at 07:30, kernel test robot <[email protected]> wrote:
>
>
>
> Hello,
>
> kernel test robot noticed "Kernel_panic-not_syncing:lsm_static_call_init-Ran_out_of_static_slots" on:
>
> commit: 9e15595ed016dc9b726b7b13ec3d9b92b9e53c68 ("security: Replace indirect LSM hook calls with static calls")
> https://git.kernel.org/cgit/linux/kernel/git/kpsingh/linux.git static_calls
>
> in testcase: boot
>
> compiler: clang-17
> test machine: qemu-system-i386 -enable-kvm -cpu SandyBridge -smp 2 -m 4G
>
> (please refer to attached dmesg/kmsg for entire log/backtrace)
>
>
> +-----------------------------------------------------------------------+------------+------------+
> | | e2f2a7e74d | 9e15595ed0 |
> +-----------------------------------------------------------------------+------------+------------+
> | Kernel_panic-not_syncing:lsm_static_call_init-Ran_out_of_static_slots | 0 | 12 |
> +-----------------------------------------------------------------------+------------+------------+
>

This seems like an odd config which does not enable STATIC_CALL, I am going to make CONFIG_SECURITY depend on CONFIG_STATIC_CALL and make the dependency explicit.

- KP



>
> 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
> | Reported-by: kernel test robot <[email protected]>
> | Closes: https://lore.kernel.org/oe-lkp/[email protected]
>
>
> [ 1.020355][ T0] x86/fpu: xstate_offset[2]: 576, xstate_sizes[2]: 256
> [ 1.020966][ T0] x86/fpu: Enabled xstate features 0x7, context size is 832 bytes, using 'standard' format.
> [ 1.022632][ T0] Freeing SMP alternatives memory: 32K
> [ 1.023145][ T0] pid_max: default: 32768 minimum: 301
> [ 1.025772][ T0] LSM: initializing lsm=capability,ima
> [ 1.027282][ T0] Kernel panic - not syncing: lsm_static_call_init - Ran out of static slots.
> [ 1.028283][ T0] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G T 6.9.0-rc1-00003-g9e15595ed016 #1
> [ 1.028948][ T0] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
> [ 1.028948][ T0] Call Trace:
> [ 1.028948][ T0] dump_stack_lvl (kbuild/src/consumer/lib/dump_stack.c:116)
> [ 1.028948][ T0] ? vprintk (kbuild/src/consumer/kernel/printk/printk_safe.c:?)

[...]


2024-04-15 13:21:44

by Tetsuo Handa

[permalink] [raw]
Subject: Re: [kpsingh:static_calls] [security] 9e15595ed0: Kernel_panic-not_syncing:lsm_static_call_init-Ran_out_of_static_slots

On 2024/04/15 17:26, KP Singh wrote:
> This seems like an odd config which does not enable STATIC_CALL, I am going to
> make CONFIG_SECURITY depend on CONFIG_STATIC_CALL and make the dependency explicit.

If CONFIG_SECURITY depends on CONFIG_STATIC_CALL, architectures which do not
support CONFIG_STATIC_CALL can no longer use LSM ? That sounds a bad dependency.


2024-04-15 14:24:05

by Paul Moore

[permalink] [raw]
Subject: Re: [kpsingh:static_calls] [security] 9e15595ed0: Kernel_panic-not_syncing:lsm_static_call_init-Ran_out_of_static_slots

On Mon, Apr 15, 2024 at 9:21 AM Tetsuo Handa
<[email protected]> wrote:
> On 2024/04/15 17:26, KP Singh wrote:
> > This seems like an odd config which does not enable STATIC_CALL, I am going to
> > make CONFIG_SECURITY depend on CONFIG_STATIC_CALL and make the dependency explicit.
>
> If CONFIG_SECURITY depends on CONFIG_STATIC_CALL, architectures which do not
> support CONFIG_STATIC_CALL can no longer use LSM ? That sounds a bad dependency.

Agreed. If the arch doesn't support static calls we need a fallback
solution for the LSM that is no worse than what we have now, and
preferably would still solve the issue of the BPF hooks active even
where this is no BPF program attached.

--
paul-moore.com