diff options
| author | Roland Xu <[email protected]> | 2024-08-15 02:58:13 +0000 |
|---|---|---|
| committer | Thomas Gleixner <[email protected]> | 2024-08-15 13:38:53 +0000 |
| commit | d33d26036a0274b472299d7dcdaa5fb34329f91b (patch) | |
| tree | 97b66051307cd6ab7a476ab9af00a00a5a1850d8 /mm/sparse.c | |
| parent | Linux 6.11-rc3 (diff) | |
| download | kernel-d33d26036a0274b472299d7dcdaa5fb34329f91b.tar.gz kernel-d33d26036a0274b472299d7dcdaa5fb34329f91b.zip | |
rtmutex: Drop rt_mutex::wait_lock before scheduling
rt_mutex_handle_deadlock() is called with rt_mutex::wait_lock held. In the
good case it returns with the lock held and in the deadlock case it emits a
warning and goes into an endless scheduling loop with the lock held, which
triggers the 'scheduling in atomic' warning.
Unlock rt_mutex::wait_lock in the dead lock case before issuing the warning
and dropping into the schedule for ever loop.
[ tglx: Moved unlock before the WARN(), removed the pointless comment,
massaged changelog, added Fixes tag ]
Fixes: 3d5c9340d194 ("rtmutex: Handle deadlock detection smarter")
Signed-off-by: Roland Xu <[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
Cc: [email protected]
Link: https://lore.kernel.org/all/ME0P300MB063599BEF0743B8FA339C2CECC802@ME0P300MB0635.AUSP300.PROD.OUTLOOK.COM
Diffstat (limited to 'mm/sparse.c')
0 files changed, 0 insertions, 0 deletions
