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