Thomas Gleixner a0aa7b8a6e
rtmutex: Handle non enqueued waiters gracefully
Yimin debugged that in case of a PI wakeup in progress when
rt_mutex_start_proxy_lock() calls task_blocks_on_rt_mutex() the latter
returns -EAGAIN and in consequence the remove_waiter() call runs into
a BUG_ON() because there is nothing to remove.

Guard it with rt_mutex_has_waiters(). This is a quick fix which is
easy to backport. The proper fix is to have a central check in
remove_waiter() so we can call it unconditionally.

Reported-and-debugged-by: Yimin Deng <yimin11.deng@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: stable-rt@vger.kernel.org
Signed-off-by: azrim <mirzaspc@gmail.com>
2022-06-30 14:12:21 +00:00
..
2022-06-30 14:12:20 +00:00
2021-03-03 18:58:56 +01:00
2020-09-24 12:45:16 +02:00
2022-04-06 13:18:17 +07:00
2022-06-30 14:12:20 +00:00
2022-06-30 14:12:20 +00:00
2019-12-01 09:14:03 +01:00
2020-01-13 19:40:11 +00:00
2022-04-06 13:18:17 +07:00
2022-06-30 14:12:20 +00:00
2022-04-06 13:18:17 +07:00
2020-04-02 16:34:20 +02:00
2019-08-12 13:29:46 -04:00
2021-02-07 14:47:41 +01:00
2022-06-30 14:12:21 +00:00
2022-04-06 13:18:17 +07:00
2022-04-06 13:18:17 +07:00
2022-04-06 13:20:11 +07:00