On 04/20/2011 06:08 PM, [email protected] wrote:
2011/4/21 David Daney<[email protected]>:
On 04/20/2011 11:09 AM, Lennart Poettering wrote:

On Wed, 20.04.11 10:36, David Daney ([email protected]) wrote:

You would have to do something like this (untested):

int foo_fanotify_mark(int fanotify_fd, unsigned int flags, u64 mask,
int dfd, const char  __user * pathname)
{
        u32 mask_low = (u32)mask;
        u32 mask_high = (u32)(mask>>    32);

        return syscall(4337, fanotify_fd, flags, mask_low, mask_high, dfd,
pathname);

}

The order of mask_low, mask_high in the syscall argument list
depends on the endianness.  Figuring out the correct order is left
as an exercise for the reader.

That's basically the same patch as this one, right?


http://lists.freedesktop.org/archives/systemd-devel/attachments/20110420/be2d393b/attachment.obj


It looks like it might do the same thing.  Someone should try it on an o32
MIPS userland running on a mips64 kernel.
I tested it on o32 userland + n64 kernel. The patch works.


Yes, but did you test it with an n32 userland?

It would break there.

The gating condition should be as I said in the other message:

#if defined(__mips__) && (_MIPS_SIM == _ABIO32)


I did however misspeak when I said n32 is __LP64__, it is *not* and therein lies the problem.

David Daney
_______________________________________________
systemd-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to