Re: BUG: sleeping function called from invalid context at include/linux/sched/mm.h:256

From: Peter Zijlstra
Date: Mon Feb 14 2022 - 04:41:58 EST


On Sun, Feb 13, 2022 at 12:05:50AM +0100, Paul Menzel wrote:

> [ 0.012154][ T1] BUG: sleeping function called from invalid context at

> [ 0.022443][ T1] [c0000000084837d0] [c000000000961aac] > dump_stack_lvl+0xa0/0xec (unreliable)
> [ 0.023356][ T1] [c000000008483820] [c00000000019b314] > __might_resched+0x2f4/0x310
> [ 0.024174][ T1] [c0000000084838b0] [c0000000004c0c70] > kmem_cache_alloc+0x220/0x4b0
> [ 0.025000][ T1] [c000000008483920] [c000000000448af4] > __pud_alloc+0x74/0x1d0
> [ 0.025772][ T1] [c000000008483970] [c00000000008fe3c] > hash__map_kernel_page+0x2cc/0x390
> [ 0.026643][ T1] [c000000008483a20] [c0000000000a9944] > do_patch_instruction+0x134/0x4a0

do_patch_instruction() rightfully disables IRQs, but then it goes and
tries a memory alloc, which seems a bit daft.

I'm thinking Christophe might know more... he's recently been poking at
Power text poking..