d17fc238ac
Enable IRQs when calling schedule() for TIF_NEED_RESCHED and do_notify_resume(). If interrupts are enabled during do_notify_resume(), a warning can be seen (see lower down). Whilst we're at it, resume_userspace can be made local to entry.S as it is not called outside of there and it can be merged with the part of work_resched that occurs after schedule() is called. WARNING: at kernel/softirq.c:160 local_bh_enable+0x42/0xa0() Call Trace: local_bh_enable+0x42/0xa0 unix_release_sock+0x86/0x23c unix_release+0x20/0x28 sock_release+0x17/0x88 sock_close+0x20/0x28 __fput+0xc9/0x1fc ____fput+0xb/0x10 task_work_run+0x64/0x78 do_notify_resume+0x53d/0x544 work_notifysig+0xa/0xc Signed-off-by: David Howells <dhowells@redhat.com> Acked-by: Ken Cox <jkc@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
||
---|---|---|
.. | ||
Makefile | ||
asm-offsets.c | ||
cevt-mn10300.c | ||
csrc-mn10300.c | ||
entry.S | ||
fpu-low.S | ||
fpu-nofpu-low.S | ||
fpu-nofpu.c | ||
fpu.c | ||
gdb-io-serial-low.S | ||
gdb-io-serial.c | ||
gdb-io-ttysm-low.S | ||
gdb-io-ttysm.c | ||
gdb-low.S | ||
gdb-stub.c | ||
head.S | ||
internal.h | ||
io.c | ||
irq.c | ||
kgdb.c | ||
kprobes.c | ||
mn10300-debug.c | ||
mn10300-serial-low.S | ||
mn10300-serial.c | ||
mn10300-serial.h | ||
mn10300-watchdog-low.S | ||
mn10300-watchdog.c | ||
mn10300_ksyms.c | ||
module.c | ||
process.c | ||
profile-low.S | ||
profile.c | ||
ptrace.c | ||
rtc.c | ||
setup.c | ||
sigframe.h | ||
signal.c | ||
smp-low.S | ||
smp.c | ||
switch_to.S | ||
sys_mn10300.c | ||
time.c | ||
traps.c | ||
vmlinux.lds.S |