kernel-rt: BUG: sleeping function called from invalid context at mm/vmalloc.c:2664

From: Bruno Goncalves
Date: Tue Sep 14 2021 - 09:43:06 EST


Hello,

When testing commit "8a084036f2bc - v5.14.2-rt21" from
https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git
during "cifsv3.11" test part of xfstests [1] we hit the following
issue:

[13099.772703] BUG: sleeping function called from invalid context at
mm/vmalloc.c:2664
[13099.772709] in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid:
613586, name: cifsd
[13099.772712] 1 lock held by cifsd/613586:
[13099.772715] #0: ffffffffc0eb76d8 (&GlobalMid_Lock){+.+.}-{2:2},
at: cifs_mid_q_entry_release+0x15/0x110 [cifs]
[13099.772816] CPU: 7 PID: 613586 Comm: cifsd Not tainted 5.14.2-rt21 #1
[13099.772820] Hardware name: AMD Pike/Pike, BIOS RPK1506A 09/03/2014
[13099.772822] Call Trace:
[13099.772828] dump_stack_lvl+0x57/0x72
[13099.772838] ___might_sleep.cold+0xb6/0xc6
[13099.772845] vfree+0x3f/0x50
[13099.772852] put_task_stack+0xcf/0x140
[13099.772858] __put_task_struct+0x46/0x180
[13099.772862] cifs_mid_q_entry_release+0xce/0x110 [cifs]
[13099.772944] cifs_demultiplex_thread+0x797/0xcb0 [cifs]
[13099.773031] ? mutex_is_locked+0x1/0x20
[13099.773042] ? _raw_spin_unlock_irqrestore+0x37/0x40
[13099.773050] ? cifs_handle_standard+0x190/0x190 [cifs]
[13099.773121] kthread+0x15c/0x180
[13099.773126] ? set_kthread_struct+0x40/0x40
[13099.773134] ret_from_fork+0x22/0x30


So far we've hit this problem just once, more logs can be found at [2].


[1] https://gitlab.com/cki-project/kernel-tests/-/tree/main/filesystems/xfs/xfstests
[2] https://arr-cki-prod-datawarehouse-public.s3.amazonaws.com/index.html?prefix=datawarehouse-public/2021/09/13/369543188/build_x86_64_redhat%3A1584042034/tests/xfstests_cifsv3_11/

Thank you,
Bruno