[PATCH 1/8] Fix FUTEX_WAKE_OP compare function mask

Eugene Syromyatnikov evgsyr at gmail.com
Mon Aug 29 15:10:44 UTC 2016


* futex.c (SYS_FUNC(futex)) <FUTEX_WAKE_OP>: compare function does not
  have FUTEX_OP_OPARG_SHIFT flag and occupies 4 bits from bit 24 to bit
  27, as per both initial and current (v4.7) kernel implementations, so
  bring futex parser in accordance with this.
---
 futex.c |    4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/futex.c b/futex.c
index 7090c7d..9268216 100644
--- a/futex.c
+++ b/futex.c
@@ -92,9 +92,7 @@ SYS_FUNC(futex)
 			tprints("FUTEX_OP_OPARG_SHIFT|");
 		printxval(futexwakeops, (val3 >> 28) & 0x7, "FUTEX_OP_???");
 		tprintf(", %u, ", (val3 >> 12) & 0xfff);
-		if ((val3 >> 24) & 8)
-			tprints("FUTEX_OP_OPARG_SHIFT|");
-		printxval(futexwakecmps, (val3 >> 24) & 0x7, "FUTEX_OP_CMP_???");
+		printxval(futexwakecmps, (val3 >> 24) & 0xf, "FUTEX_OP_CMP_???");
 		tprintf(", %u}", val3 & 0xfff);
 		break;
 	case FUTEX_WAIT_REQUEUE_PI:
-- 
1.7.10.4





More information about the Strace-devel mailing list