Re: [PATCH v2 bpf-next 6/6] selftests/bpf: add kfunc_call test for simple dtor in bpf_testmod

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jun 20, 2024 at 4:41 AM Eduard Zingerman <eddyz87@xxxxxxxxx> wrote:
>
> On Thu, 2024-06-20 at 10:17 +0100, Alan Maguire wrote:
>
> [...]
>
> Hi Alan,
>
> I still get the error message in the dmesg:
>
> [   10.489223] BUG: sleeping function called from invalid context at include/linux/sched/mm.h:337
> [   10.489454] in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 184, name: test_progs
> [   10.489589] preempt_count: 200, expected: 0
> [   10.489659] RCU nest depth: 1, expected: 0
> [   10.489733] 1 lock held by test_progs/184:
> [   10.489811]  #0: ffffffff83198a60 (rcu_read_lock){....}-{1:2}, at: bpf_test_timer_enter+0x1d/0xb0
> [   10.490040] Preemption disabled at:
> [   10.490060] [<ffffffff81a0ee6a>] bpf_test_run+0x16a/0x300
> [   10.490197] CPU: 1 PID: 184 Comm: test_progs Tainted: G           OE      6.10.0-rc2-00766-gb812ab0e1306-dirty #39
> [   10.490356] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.15.0-1 04/01/2014
> [   10.490475] Call Trace:
> [   10.490515]  <TASK>
> [   10.490557]  dump_stack_lvl+0x83/0xa0
> [   10.490618]  __might_resched+0x199/0x2b0
> [   10.490695]  kmalloc_trace_noprof+0x273/0x320
> [   10.490756]  ? srso_alias_return_thunk+0x5/0xfbef5
> [   10.490836]  ? bpf_test_run+0xc0/0x300
> [   10.490836]  ? bpf_testmod_ctx_create+0x23/0x50 [bpf_testmod]
> [   10.490836]  bpf_testmod_ctx_create+0x23/0x50 [bpf_testmod]
> [   10.490836]  bpf_prog_d1347efc07047347_kfunc_call_ctx+0x2c/0xae
> [   10.490836]  bpf_test_run+0x198/0x300
> [   10.490836]  ? srso_alias_return_thunk+0x5/0xfbef5
> [   10.490836]  ? lockdep_init_map_type+0x4b/0x250
> [   10.490836]  bpf_prog_test_run_skb+0x381/0x7f0
> [   10.490836]  __sys_bpf+0xc4f/0x2e00
> [   10.490836]  ? srso_alias_return_thunk+0x5/0xfbef5
> [   10.490836]  ? reacquire_held_locks+0xcf/0x1f0
> [   10.490836]  __x64_sys_bpf+0x1e/0x30
> [   10.490836]  do_syscall_64+0x68/0x140
> [   10.490836]  entry_SYSCALL_64_after_hwframe+0x76/0x7e
>
> The following fix helps:
>
> --- a/tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c
> +++ b/tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c
> @@ -164,7 +164,7 @@ bpf_testmod_ctx_create(int *err)
>  {
>         struct bpf_testmod_ctx *ctx;
>
> -       ctx = kzalloc(sizeof(*ctx), GFP_KERNEL | GFP_ATOMIC);
> +       ctx = kzalloc(sizeof(*ctx), GFP_ATOMIC);

fixed while applying, thanks

>         if (!ctx) {
>                 *err = -ENOMEM;
>                 return NULL;
>
> Thanks,
> Eduard
>
> [...]





[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux