From: Mike Frysinger Date: Thu, 26 Feb 2015 19:16:13 +0000 (-0500) Subject: hppa: fix fanotify_mark decoding X-Git-Tag: v4.10~67 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=28e3d6fd1ce422b40d6eb689f7b0a1b1a0640fd8;p=strace 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. --- 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)