Commit 3a408ca
debugobjects: Do not fill_pool() if pi_blocked_on
commit 5f41161 upstream.
On RT enabled kernels, fill_pool() ends up calling rtlock_lock(), which
asserts if current::pi_blocked_on is set, because a task can obviously only
block on one lock as otherwise the priority inheritenace chain gets
corrupted.
Prevent this by expanding the conditional to take current::pi_blocked_on
into account.
Fixes: 4bedcc2 ("debugobjects: Make them PREEMPT_RT aware")
Reported-by: syzbot+b8ca586b9fc235f0c0df@syzkaller.appspotmail.com
Signed-off-by: Helen Koike <koike@igalia.com>
Signed-off-by: Thomas Gleixner <tglx@kernel.org>
Link: https://patch.msgid.link/20260511215359.3351259-1-koike@igalia.com
Closes: https://syzkaller.appspot.com/bug?extid=b8ca586b9fc235f0c0df
Signed-off-by: Sasha Levin <sashal@kernel.org>1 parent 9cd2087 commit 3a408ca
1 file changed
Lines changed: 14 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
711 | 711 | | |
712 | 712 | | |
713 | 713 | | |
| 714 | + | |
| 715 | + | |
| 716 | + | |
| 717 | + | |
| 718 | + | |
| 719 | + | |
| 720 | + | |
| 721 | + | |
| 722 | + | |
714 | 723 | | |
715 | 724 | | |
716 | 725 | | |
| |||
727 | 736 | | |
728 | 737 | | |
729 | 738 | | |
730 | | - | |
731 | | - | |
732 | | - | |
| 739 | + | |
| 740 | + | |
| 741 | + | |
733 | 742 | | |
734 | | - | |
| 743 | + | |
| 744 | + | |
735 | 745 | | |
736 | 746 | | |
737 | 747 | | |
| |||
0 commit comments