• David Howells's avatar
    MN10300: Enable IRQs more in system call exit work path · d17fc238
    David Howells authored
    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: default avatarDavid Howells <dhowells@redhat.com>
    Acked-by: default avatarKen Cox <jkc@redhat.com>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    d17fc238
entry.S 18.6 KB