[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-stable] [PATCH 33/37] linux-user/syscall.c: handle FUTEX_WAIT_BITS
From: |
Michael Roth |
Subject: |
[Qemu-stable] [PATCH 33/37] linux-user/syscall.c: handle FUTEX_WAIT_BITSET in do_futex |
Date: |
Tue, 2 Apr 2013 16:45:38 -0500 |
From: John Rigby <address@hidden>
Upstream libc has recently changed to start using
FUTEX_WAIT_BITSET instead of FUTEX_WAIT and this
is causing do_futex to return -TARGET_ENOSYS.
Pass bitset in val3 to sys_futex which will be
ignored by kernel for the FUTEX_WAIT case.
Signed-off-by: John Rigby <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>
(cherry picked from commit cce246e0a21577bb2372ab3a7d6789371e087de9)
Signed-off-by: Michael Roth <address@hidden>
---
linux-user/syscall.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 9e31ea7..7bc5ba9 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -4920,6 +4920,7 @@ static int do_futex(target_ulong uaddr, int op, int val,
target_ulong timeout,
#endif
switch (base_op) {
case FUTEX_WAIT:
+ case FUTEX_WAIT_BITSET:
if (timeout) {
pts = &ts;
target_to_host_timespec(pts, timeout);
@@ -4927,7 +4928,7 @@ static int do_futex(target_ulong uaddr, int op, int val,
target_ulong timeout,
pts = NULL;
}
return get_errno(sys_futex(g2h(uaddr), op, tswap32(val),
- pts, NULL, 0));
+ pts, NULL, val3));
case FUTEX_WAKE:
return get_errno(sys_futex(g2h(uaddr), op, val, NULL, NULL, 0));
case FUTEX_FD:
--
1.7.9.5
- [Qemu-stable] [PATCH 15/37] rtc-test: Fix test failures with recent glib, (continued)
- [Qemu-stable] [PATCH 15/37] rtc-test: Fix test failures with recent glib, Michael Roth, 2013/04/02
- [Qemu-stable] [PATCH 18/37] qcow2: make is_allocated return true for zero clusters, Michael Roth, 2013/04/02
- [Qemu-stable] [PATCH 19/37] qemu-ga: use key-value store to avoid recycling fd handles after restart, Michael Roth, 2013/04/02
- [Qemu-stable] [PATCH 21/37] tcg: Fix occasional TCG broken problem when ldst optimization enabled, Michael Roth, 2013/04/02
- [Qemu-stable] [PATCH 22/37] virtio-ccw: Queue sanity check for notify hypercall., Michael Roth, 2013/04/02
- [Qemu-stable] [PATCH 20/37] qga/main.c: Don't use g_key_file_get/set_int64, Michael Roth, 2013/04/02
- [Qemu-stable] [PATCH 24/37] configure: Require at least spice-protocol-0.12.3, Michael Roth, 2013/04/02
- [Qemu-stable] [PATCH 23/37] qemu-bridge-helper: force usage of a very high MAC address for the bridge, Michael Roth, 2013/04/02
- [Qemu-stable] [PATCH 26/37] target-ppc: Fix CPU_POWERPC_MPC8547E, Michael Roth, 2013/04/02
- [Qemu-stable] [PATCH 25/37] pseries: Add cleanup hook for PAPR virtual LAN device, Michael Roth, 2013/04/02
- [Qemu-stable] [PATCH 33/37] linux-user/syscall.c: handle FUTEX_WAIT_BITSET in do_futex,
Michael Roth <=
- [Qemu-stable] [PATCH 35/37] linux-user: make bogus negative iovec lengths fail EINVAL, Michael Roth, 2013/04/02
- [Qemu-stable] [PATCH 34/37] linux-user: fix futex strace of FUTEX_CLOCK_REALTIME, Michael Roth, 2013/04/02
- [Qemu-stable] [PATCH 36/37] linux-user/syscall.c: Don't warn about unimplemented get_robust_list, Michael Roth, 2013/04/02
- [Qemu-stable] [PATCH 29/37] Fix page_cache leak in cache_resize, Michael Roth, 2013/04/02
- Re: [Qemu-stable] [Qemu-devel] Patch Round-up for stable 1.4.1, freeze next Tuesday, Eric Blake, 2013/04/02
- [Qemu-stable] [PATCH 31/37] qcow2: flush refcount cache correctly in alloc_refcount_block(), Michael Roth, 2013/04/02
- [Qemu-stable] [PATCH 37/37] update seabios to 1.7.2.1, Michael Roth, 2013/04/02