* BUG: sleeping function called from invalid context - seen with UML
@ 2016-08-02 16:17 John Stultz
2016-08-02 16:23 ` Richard Weinberger
0 siblings, 1 reply; 4+ messages in thread
From: John Stultz @ 2016-08-02 16:17 UTC (permalink / raw)
To: Eli Cooper; +Cc: Richard Weinberger, lkml
I'm trying to run UML with recent upstream kernels, and I've been
seeing the following BUG trigger over and over:
BUG: sleeping function called from invalid context at mm/slab.h:393
in_atomic(): 0, irqs_disabled(): 1, pid: 0, name: swapper
CPU: 0 PID: 0 Comm: swapper Tainted: G W 4.7.0-09120-ge48af7a #794
Stack:
603e1d20 60069689 600976ea 6002fb08
00000000 00000000 603e1d30 601c6336
603e1d80 60058225 603e1d60 603e4e50
Call Trace:
[<600976ea>] ? printk+0x0/0x94
[<6001d345>] show_stack+0xfe/0x158
[<60069689>] ? dump_stack_print_info+0xe1/0xea
[<600976ea>] ? printk+0x0/0x94
[<6002fb08>] ? get_signals+0x0/0xf
[<601c6336>] dump_stack+0x2a/0x2c
[<60058225>] ___might_sleep+0x181/0x18c
[<60058307>] __might_sleep+0xd7/0xe2
[<60069fa1>] ? handle_irq_event+0x56/0x6a
[<600cf35f>] __kmalloc+0x5a/0x121
[<6001bc10>] uml_kmalloc+0x13/0x15
[<6002e19d>] __wrap_malloc+0x3f/0x71
[<6002fa46>] sig_handler_common+0x3e/0x100
[<6002fa08>] ? sig_handler_common+0x0/0x100
[<6002f944>] ? block_signals+0x0/0x16
[<600976ea>] ? printk+0x0/0x94
[<6002f9c5>] unblock_signals+0x6b/0xae
[<601cc073>] ? strlen+0x0/0x16
[<6001c35b>] arch_cpu_idle+0x53/0x5a
[<601cc073>] ? strlen+0x0/0x16
[<6006029d>] default_idle_call+0x32/0x34
[<6007db99>] ? tick_nohz_idle_enter+0x75/0x77
[<60060353>] cpu_startup_entry+0xb4/0x11d
[<6006009e>] ? complete+0x0/0x5a
[<600382ec>] ? kernel_thread+0x0/0x2d
[<600382ec>] ? kernel_thread+0x0/0x2d
[<602fe646>] rest_init+0xa7/0xae
[<6002fb08>] ? get_signals+0x0/0xf
[<6002fb08>] ? get_signals+0x0/0xf
[<60001bc0>] start_kernel+0x529/0x538
[<60003626>] start_kernel_proc+0x49/0x4d
[<600660b8>] ? kmsg_dump_register+0x84/0x93
[<6001bf03>] new_thread_handler+0x81/0xa3
[<600035db>] ? kmsg_dumper_stdout_init+0x1a/0x1c
[<6001ee17>] uml_finishsetup+0x54/0x59
I tried to bisect it down, and it apparently popped up in the v4.7
merge window, with the following commit:
b6024b21fec8 ("um: extend fpstate to _xstate to support YMM
registers") which adds a malloc call to the sig_handler
Unfortunately just reverting that patch against v4.7 doesn't work, as
I then hit:
This architecture does not have kernel memory protection.
Registers -
0 0x2
1 0x0
2 0x0
3 0x0
4 0x0
5 0x0
6 0x0
7 0x0
8 0x0
9 0x0
10 0x0
11 0x0
12 0x0
13 0x0
14 0x0
15 0x0
16 0x10007b
17 0x0
18 0x0
19 0x0
20 0x0
21 0x0
22 0x0
23 0x0
24 0x0
25 0x0
26 0x0
Kernel panic - not syncing: do_syscall_stub : PTRACE_SETREGS failed, errno = 5
CPU: 0 PID: 1 Comm: swapper Not tainted 4.7.0-00001-g0a9f717 #795
Stack:
80455be0 60068d01 601ce033 60373c73
807928f0 60096cdf 80455bf0 601c4109
80455d10 600960cd 00002458 807928f0
Call Trace:
[<60096cdf>] ? printk+0x0/0x94
[<6001d345>] show_stack+0xfe/0x158
[<60068d01>] ? dump_stack_print_info+0xe1/0xea
[<601ce033>] ? bust_spinlocks+0x0/0x4f
[<60096cdf>] ? printk+0x0/0x94
[<601c4109>] dump_stack+0x2a/0x2c
[<600960cd>] panic+0x163/0x2f0
[<60095f6a>] ? panic+0x0/0x2f0
[<60096cdf>] ? printk+0x0/0x94
[<60096cdf>] ? printk+0x0/0x94
[<60057bb9>] ? __might_sleep+0xd7/0xe2
[<6003191a>] run_syscall_stub+0x145/0x2d4
[<60096cdf>] ? printk+0x0/0x94
[<600cda05>] ? kmem_cache_alloc+0x0/0xff
[<6003302e>] write_ldt_entry+0x84/0x8f
[<60033298>] init_new_ldt+0x25f/0x350
[<600cda05>] ? kmem_cache_alloc+0x0/0xff
[<6001f165>] init_new_context+0x102/0x14e
[<6009fa4a>] ? __get_free_pages+0x1c/0x5a
[<60063cc9>] ? __raw_spin_lock_init+0x0/0x1e
[<600359bf>] mm_init+0x1cc/0x211
[<600cdad3>] ? kmem_cache_alloc+0xce/0xff
[<60035e73>] mm_alloc+0x62/0x6d
[<600da275>] do_execveat_common+0x2b3/0x65e
[<600da641>] do_execve+0x21/0x23
[<6001a6d8>] run_init_process+0x3b/0x3f
[<6001a69d>] ? run_init_process+0x0/0x3f
[<60096cdf>] ? printk+0x0/0x94
[<602f9b5c>] kernel_init+0xbf/0x156
[<6001bf03>] new_thread_handler+0x81/0xa3
Any thoughts on how to get around this?
thanks
-john
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: BUG: sleeping function called from invalid context - seen with UML
2016-08-02 16:17 BUG: sleeping function called from invalid context - seen with UML John Stultz
@ 2016-08-02 16:23 ` Richard Weinberger
2016-08-02 16:28 ` John Stultz
0 siblings, 1 reply; 4+ messages in thread
From: Richard Weinberger @ 2016-08-02 16:23 UTC (permalink / raw)
To: John Stultz, Eli Cooper; +Cc: lkml
John,
Am 02.08.2016 um 18:17 schrieb John Stultz:
> I'm trying to run UML with recent upstream kernels, and I've been
> seeing the following BUG trigger over and over:
Geez, I forgot to pickup my own patch. ;-\
Can you try https://www.mail-archive.com/user-mode-linux-devel@lists.sourceforge.net/msg09775.html?
Thanks,
//richard
> BUG: sleeping function called from invalid context at mm/slab.h:393
> in_atomic(): 0, irqs_disabled(): 1, pid: 0, name: swapper
> CPU: 0 PID: 0 Comm: swapper Tainted: G W 4.7.0-09120-ge48af7a #794
> Stack:
> 603e1d20 60069689 600976ea 6002fb08
> 00000000 00000000 603e1d30 601c6336
> 603e1d80 60058225 603e1d60 603e4e50
> Call Trace:
> [<600976ea>] ? printk+0x0/0x94
> [<6001d345>] show_stack+0xfe/0x158
> [<60069689>] ? dump_stack_print_info+0xe1/0xea
> [<600976ea>] ? printk+0x0/0x94
> [<6002fb08>] ? get_signals+0x0/0xf
> [<601c6336>] dump_stack+0x2a/0x2c
> [<60058225>] ___might_sleep+0x181/0x18c
> [<60058307>] __might_sleep+0xd7/0xe2
> [<60069fa1>] ? handle_irq_event+0x56/0x6a
> [<600cf35f>] __kmalloc+0x5a/0x121
> [<6001bc10>] uml_kmalloc+0x13/0x15
> [<6002e19d>] __wrap_malloc+0x3f/0x71
> [<6002fa46>] sig_handler_common+0x3e/0x100
> [<6002fa08>] ? sig_handler_common+0x0/0x100
> [<6002f944>] ? block_signals+0x0/0x16
> [<600976ea>] ? printk+0x0/0x94
> [<6002f9c5>] unblock_signals+0x6b/0xae
> [<601cc073>] ? strlen+0x0/0x16
> [<6001c35b>] arch_cpu_idle+0x53/0x5a
> [<601cc073>] ? strlen+0x0/0x16
> [<6006029d>] default_idle_call+0x32/0x34
> [<6007db99>] ? tick_nohz_idle_enter+0x75/0x77
> [<60060353>] cpu_startup_entry+0xb4/0x11d
> [<6006009e>] ? complete+0x0/0x5a
> [<600382ec>] ? kernel_thread+0x0/0x2d
> [<600382ec>] ? kernel_thread+0x0/0x2d
> [<602fe646>] rest_init+0xa7/0xae
> [<6002fb08>] ? get_signals+0x0/0xf
> [<6002fb08>] ? get_signals+0x0/0xf
> [<60001bc0>] start_kernel+0x529/0x538
> [<60003626>] start_kernel_proc+0x49/0x4d
> [<600660b8>] ? kmsg_dump_register+0x84/0x93
> [<6001bf03>] new_thread_handler+0x81/0xa3
> [<600035db>] ? kmsg_dumper_stdout_init+0x1a/0x1c
> [<6001ee17>] uml_finishsetup+0x54/0x59
>
>
>
> I tried to bisect it down, and it apparently popped up in the v4.7
> merge window, with the following commit:
>
> b6024b21fec8 ("um: extend fpstate to _xstate to support YMM
> registers") which adds a malloc call to the sig_handler
>
>
> Unfortunately just reverting that patch against v4.7 doesn't work, as
> I then hit:
>
> This architecture does not have kernel memory protection.
> Registers -
> 0 0x2
> 1 0x0
> 2 0x0
> 3 0x0
> 4 0x0
> 5 0x0
> 6 0x0
> 7 0x0
> 8 0x0
> 9 0x0
> 10 0x0
> 11 0x0
> 12 0x0
> 13 0x0
> 14 0x0
> 15 0x0
> 16 0x10007b
> 17 0x0
> 18 0x0
> 19 0x0
> 20 0x0
> 21 0x0
> 22 0x0
> 23 0x0
> 24 0x0
> 25 0x0
> 26 0x0
> Kernel panic - not syncing: do_syscall_stub : PTRACE_SETREGS failed, errno = 5
>
> CPU: 0 PID: 1 Comm: swapper Not tainted 4.7.0-00001-g0a9f717 #795
> Stack:
> 80455be0 60068d01 601ce033 60373c73
> 807928f0 60096cdf 80455bf0 601c4109
> 80455d10 600960cd 00002458 807928f0
> Call Trace:
> [<60096cdf>] ? printk+0x0/0x94
> [<6001d345>] show_stack+0xfe/0x158
> [<60068d01>] ? dump_stack_print_info+0xe1/0xea
> [<601ce033>] ? bust_spinlocks+0x0/0x4f
> [<60096cdf>] ? printk+0x0/0x94
> [<601c4109>] dump_stack+0x2a/0x2c
> [<600960cd>] panic+0x163/0x2f0
> [<60095f6a>] ? panic+0x0/0x2f0
> [<60096cdf>] ? printk+0x0/0x94
> [<60096cdf>] ? printk+0x0/0x94
> [<60057bb9>] ? __might_sleep+0xd7/0xe2
> [<6003191a>] run_syscall_stub+0x145/0x2d4
> [<60096cdf>] ? printk+0x0/0x94
> [<600cda05>] ? kmem_cache_alloc+0x0/0xff
> [<6003302e>] write_ldt_entry+0x84/0x8f
> [<60033298>] init_new_ldt+0x25f/0x350
> [<600cda05>] ? kmem_cache_alloc+0x0/0xff
> [<6001f165>] init_new_context+0x102/0x14e
> [<6009fa4a>] ? __get_free_pages+0x1c/0x5a
> [<60063cc9>] ? __raw_spin_lock_init+0x0/0x1e
> [<600359bf>] mm_init+0x1cc/0x211
> [<600cdad3>] ? kmem_cache_alloc+0xce/0xff
> [<60035e73>] mm_alloc+0x62/0x6d
> [<600da275>] do_execveat_common+0x2b3/0x65e
> [<600da641>] do_execve+0x21/0x23
> [<6001a6d8>] run_init_process+0x3b/0x3f
> [<6001a69d>] ? run_init_process+0x0/0x3f
> [<60096cdf>] ? printk+0x0/0x94
> [<602f9b5c>] kernel_init+0xbf/0x156
> [<6001bf03>] new_thread_handler+0x81/0xa3
>
>
> Any thoughts on how to get around this?
>
> thanks
> -john
>
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: BUG: sleeping function called from invalid context - seen with UML
2016-08-02 16:23 ` Richard Weinberger
@ 2016-08-02 16:28 ` John Stultz
2016-08-02 16:30 ` Richard Weinberger
0 siblings, 1 reply; 4+ messages in thread
From: John Stultz @ 2016-08-02 16:28 UTC (permalink / raw)
To: Richard Weinberger; +Cc: Eli Cooper, lkml
On Tue, Aug 2, 2016 at 9:23 AM, Richard Weinberger <richard@nod.at> wrote:
> John,
>
> Am 02.08.2016 um 18:17 schrieb John Stultz:
>> I'm trying to run UML with recent upstream kernels, and I've been
>> seeing the following BUG trigger over and over:
>
> Geez, I forgot to pickup my own patch. ;-\
> Can you try https://www.mail-archive.com/user-mode-linux-devel@lists.sourceforge.net/msg09775.html?
Hey! That works well. Thanks for the pointer!
Do you mind sending that along to Linus and tagging it for -stable (4.7+)?
thanks
-john
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: BUG: sleeping function called from invalid context - seen with UML
2016-08-02 16:28 ` John Stultz
@ 2016-08-02 16:30 ` Richard Weinberger
0 siblings, 0 replies; 4+ messages in thread
From: Richard Weinberger @ 2016-08-02 16:30 UTC (permalink / raw)
To: John Stultz; +Cc: Eli Cooper, lkml
Am 02.08.2016 um 18:28 schrieb John Stultz:
> On Tue, Aug 2, 2016 at 9:23 AM, Richard Weinberger <richard@nod.at> wrote:
>> John,
>>
>> Am 02.08.2016 um 18:17 schrieb John Stultz:
>>> I'm trying to run UML with recent upstream kernels, and I've been
>>> seeing the following BUG trigger over and over:
>>
>> Geez, I forgot to pickup my own patch. ;-\
>> Can you try https://www.mail-archive.com/user-mode-linux-devel@lists.sourceforge.net/msg09775.html?
>
> Hey! That works well. Thanks for the pointer!
>
> Do you mind sending that along to Linus and tagging it for -stable (4.7+)?
Yes, of course.
Thanks,
//richard
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-08-02 16:36 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-08-02 16:17 BUG: sleeping function called from invalid context - seen with UML John Stultz
2016-08-02 16:23 ` Richard Weinberger
2016-08-02 16:28 ` John Stultz
2016-08-02 16:30 ` Richard Weinberger
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox