History

Merge tag 'locking_urgent_for_v6.7_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull locking fix from Borislav Petkov: - Fix a hardcoded futex flags case which lead to one robust futex test failure * tag 'locking_urgent_for_v6.7_rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: futex: Fix hardcoded flags

Linus Torvalds committed 2 years ago

Commit 2f84f822 parents c8b3443 c9bd1561 file · +6 −3Browse files

Unified · Split

kernel/futex/core.c+6−3
@@ -700,7 +700,8 @@ retry: · 699 unmodified lines
700 owner = uval & FUTEX_TID_MASK;700 owner = uval & FUTEX_TID_MASK;
701 701
702 if (pending_op && !pi && !owner) {702 if (pending_op && !pi && !owner) {
703 futex_wake(uaddr, 1, 1, FUTEX_BITSET_MATCH_ANY);703 futex_wake(uaddr, FLAGS_SIZE_32 | FLAGS_SHARED, 1,
704 FUTEX_BITSET_MATCH_ANY);
704 return 0;705 return 0;
705 }706 }
706 707
@@ -752,8 +753,10 @@ retry: · 45 unmodified lines
752 * Wake robust non-PI futexes here. The wakeup of753 * Wake robust non-PI futexes here. The wakeup of
753 * PI futexes happens in exit_pi_state():754 * PI futexes happens in exit_pi_state():
754 */755 */
755 if (!pi && (uval & FUTEX_WAITERS))756 if (!pi && (uval & FUTEX_WAITERS)) {
756 futex_wake(uaddr, 1, 1, FUTEX_BITSET_MATCH_ANY);757 futex_wake(uaddr, FLAGS_SIZE_32 | FLAGS_SHARED, 1,
758 FUTEX_BITSET_MATCH_ANY);
759 }
757 760
758 return 0;761 return 0;
759}762}