]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
s390/futex: Fix FUTEX_OP_ANDN implementation
authorHeiko Carstens <hca@linux.ibm.com>
Tue, 7 Jan 2025 10:28:58 +0000 (11:28 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 17 Feb 2025 09:05:04 +0000 (10:05 +0100)
commit6e83f167bb10c4187a0036d3caf88aff9bc63199
tree3686108c331cc2c8a8398b8f4ba95d65d0cc18da
parent2b7f9749e6b3494e58e02cfa970345d5cc23a995
s390/futex: Fix FUTEX_OP_ANDN implementation

commit 26701574cee6777f867f89b4a5c667817e1ee0dd upstream.

The futex operation FUTEX_OP_ANDN is supposed to implement

*(int *)UADDR2 &= ~OPARG;

The s390 implementation just implements an AND instead of ANDN.
Add the missing bitwise not operation to oparg to fix this.

This is broken since nearly 19 years, so it looks like user space is
not making use of this operation.

Fixes: 3363fbdd6fb4 ("[PATCH] s390: futex atomic operations")
Cc: stable@vger.kernel.org
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Acked-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/s390/include/asm/futex.h