From 28e3d6fd1ce422b40d6eb689f7b0a1b1a0640fd8 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Thu, 26 Feb 2015 14:16:13 -0500 Subject: [PATCH] hppa: fix fanotify_mark decoding The parisc kernel has some legacy baggage here and decodes the 64bit field in the reverse order. Handle it in strace too. * fanotify.c [HPPA] (sys_fanotify_mark): Reverse the mask bits. --- fanotify.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/fanotify.c b/fanotify.c index e421b01e..63816b8d 100644 --- a/fanotify.c +++ b/fanotify.c @@ -52,6 +52,10 @@ sys_fanotify_mark(struct tcb *tcp) * but kernel uses the lower 32 bits only. */ argn = getllval(tcp, &mask, 2); +#ifdef HPPA + /* Parsic is weird. See arch/parisc/kernel/sys_parisc32.c. */ + mask = (mask << 32) | (mask >> 32); +#endif printflags(fan_event_flags, mask, "FAN_???"); tprints(", "); if ((int) tcp->u_arg[argn] == FAN_NOFD) -- 2.40.0