Re: [4.18 rc7] BUG: sleeping function called from invalid context at mm/slab.h:421
From: Sergey Senozhatsky <hidden>
Date: 2018-08-08 10:40:49
Also in:
linux-mm, lkml
Hello, On (08/08/18 11:01), Vlastimil Babka wrote:
On 08/08/2018 05:50 AM, Mikhail Gavrilov wrote:quoted
Hi guys. I am catched new bug. Can anyone look?fbcon_startup() calls kzalloc(sizeof(struct fbcon_ops), GFP_KERNEL) so it tells slab it can sleep. The problem must be higher in the stack, CCing printk people.
Cc-ing fbcon/vt people. I'm not sure I know how exactly console takeover is expected to work. printk must be atomic, we can't sleep in console drivers [e.g. printk from IRQs, etc.]
quoted
[226995.988988] BUG: sleeping function called from invalid context at mm/slab.h:421 [226995.988988] in_atomic(): 1, irqs_disabled(): 1, pid: 22658, name: gsd-rfkill [226995.988989] INFO: lockdep is turned off. [226995.988989] irq event stamp: 0 [226995.988990] hardirqs last enabled at (0): [<0000000000000000>] (null) [226995.988991] hardirqs last disabled at (0): [<ffffffffa00b6b4a>] copy_process.part.32+0x72a/0x1e60 [226995.988991] softirqs last enabled at (0): [<ffffffffa00b6b4a>] copy_process.part.32+0x72a/0x1e60 [226995.988992] softirqs last disabled at (0): [<0000000000000000>] (null) [226995.988993] CPU: 6 PID: 22658 Comm: gsd-rfkill Tainted: G W 4.18.0-0.rc7.git1.1.fc29.x86_64 #1 [226995.988993] Hardware name: Gigabyte Technology Co., Ltd. Z87M-D3H/Z87M-D3H, BIOS F11 08/12/2014 [226995.988994] Call Trace: [226995.988994] dump_stack+0x85/0xc0 [226995.988995] ___might_sleep.cold.72+0xac/0xbc [226995.988995] kmem_cache_alloc_trace+0x202/0x2f0 [226995.988996] ? fbcon_startup+0xae/0x300 [226995.988996] fbcon_startup+0xae/0x300 [226995.988997] do_take_over_console+0x6d/0x180 [226995.988997] do_fbcon_takeover+0x58/0xb0 [226995.988997] fbcon_output_notifier.cold.35+0x5/0x23 [226995.988998] notifier_call_chain+0x39/0x90 [226995.988999] vt_console_print+0x363/0x420 [226995.988999] console_unlock+0x422/0x610 [226995.988999] vprintk_emit+0x268/0x540 [226995.989000] printk+0x58/0x6f [226995.989000] rfkill_fop_release.cold.16+0xc/0x11 [rfkill] [226995.989001] __fput+0xc7/0x250 [226995.989001] task_work_run+0xa1/0xd0 [226995.989002] exit_to_usermode_loop+0xd8/0xe0 [226995.989002] do_syscall_64+0x1df/0x1f0 [226995.989003] entry_SYSCALL_64_after_hwframe+0x49/0xbe
-ss