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 | 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 of | 753 | * 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 | } |