Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6330c04b authored by Paul Mundt's avatar Paul Mundt
Browse files

sh: Ensure IRQs are enabled across do_notify_resume().



do_notify_resume() can trigger the freezer via the try_to_freeze() path
(both explicitly through a redundant call in do_signal() or via
get_signal_to_deliver()). That IRQs were disabled across this callsite
became apparent with the might_sleep() introduction in try_to_freeze() by
Tejun in a0acae0e, resulting in:

	BUG: sleeping function called from invalid context at include/linux/freezer.h:45
	in_atomic(): 0, irqs_disabled(): 1, pid: 819, name: ntpd
	no locks held by ntpd/819.
	Stack: (0x9c81be80 to 0x9c81c000)
	...

Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent 33dc5c10
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -145,6 +145,7 @@ work_notifysig:
	 mov	r15, r4
	mov	r12, r5		! set arg1(save_r0)
	mov	r0, r6
	sti
	mov.l	2f, r1
	mov.l	3f, r0
	jmp	@r1