locking/mutex: clear MUTEX_FLAGS if wait_list is empty due to signal
stable inclusion from stable-5.10.40 commit e354e3744b0b6f1e9436bc90480fa4e60db1bca8 bugzilla: 51882 CVE: NA -------------------------------- [ Upstream commit 3a010c49 ] When a interruptible mutex locker is interrupted by a signal without acquiring this lock and removed from the wait queue. if the mutex isn't contended enough to have a waiter put into the wait queue again, the setting of the WAITER bit will force mutex locker to go into the slowpath to acquire the lock every time, so if the wait queue is empty, the WAITER bit need to be clear. Fixes: 040a0a37 ("mutex: Add support for wound/wait style locks") Suggested-by:Peter Zijlstra <peterz@infradead.org> Signed-off-by:
Zqiang <qiang.zhang@windriver.com> Signed-off-by:
Peter Zijlstra (Intel) <peterz@infradead.org> Link: https://lkml.kernel.org/r/20210517034005.30828-1-qiang.zhang@windriver.com Signed-off-by:
Sasha Levin <sashal@kernel.org> Signed-off-by:
Chen Jun <chenjun102@huawei.com> Acked-by:
Weilong Chen <chenweilong@huawei.com> Signed-off-by:
Zheng Zengkai <zhengzengkai@huawei.com>
Loading
Please sign in to comment