[Bug 261166] LinuxKPI kernel panics: mi _switch: switch in a critical section – 14. 0-CURRENT main-n252381-75d20a5e386 (2022-01-1 1)

[email protected]
Newsgroups gmane.os.freebsd.devel.x11
Message-ID <[email protected]/bugzilla/>
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=261166

--- Comment #12 from [email protected] ---
A commit in branch main references this bug:

URL:
https://cgit.FreeBSD.org/src/commit/?id=89889ab470b9f1a1cd36913dd219b78efbf484df

commit 89889ab470b9f1a1cd36913dd219b78efbf484df
Author:     Vladimir Kondratyev <[email protected]>
AuthorDate: 2022-01-18 20:14:13 +0000
Commit:     Vladimir Kondratyev <[email protected]>
CommitDate: 2022-01-18 20:14:13 +0000

    LinuxKPI: Allow wake_up to be executed within a critical section

    by replaceing of spin_lock() call with spin_lock_irqsave()

    This fixes following panic in drm-kmod:

    panic: mi_switch: switch in a critical section
    cpuid = 2
    time = 1636939794
    KDB: stack backtrace:
    db_trace_self_wrapper() at db_trace_self_wrapper+0x2b
    vpanic() at vpanic+0x187
    panic() at panic+0x43
    mi_switch() at mi_switch+0x198
    __mtx_lock_sleep() at __mtx_lock_sleep+0x1c9
    __mtx_lock_flags() at __mtx_lock_flags+0xa2
    linux_wake_up() at linux_wake_up+0x38
    __active_retire() at __active_retire+0xb7
    dma_fence_signal() at dma_fence_signal+0x100
    dma_resv_add_shared_fence() at dma_resv_add_shared_fence+0x96
    i915_gem_do_execbuffer() at i915_gem_do_execbuffer+0x11d0
    i915_gem_execbuffer2_ioctl() at i915_gem_execbuffer2_ioctl+0x19a
    drm_ioctl_kernel() at drm_ioctl_kernel+0x72
    drm_ioctl() at drm_ioctl+0x2c4
    linux_file_ioctl() at linux_file_ioctl+0x297
    kern_ioctl() at kern_ioctl+0x1dc
    sys_ioctl() at sys_ioctl+0x124
    amd64_syscall() at amd64_syscall+0x124
    fast_syscall_common() at fast_syscall_common+0xf8
    --- syscall (54, FreeBSD ELF64, sys_ioctl)

    MFC after:      1 week
    Reviewed by:    manu
    Reported by:    Graham Perrin <grahamperrin_AT_gmail_DOT_com>
    PR:             261166
    Differential Revision:  https://reviews.freebsd.org/D33888

 sys/compat/linuxkpi/common/src/linux_schedule.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

-- 
You are receiving this mail because:
You are the assignee for the bug.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.