[systemd-devel] [PATCH] Fix broken syscall(__NR_fanotify_mark... on 32bit mips.

fykcee1 at gmail.com fykcee1 at gmail.com
Wed Apr 20 18:08:16 PDT 2011


2011/4/21 David Daney <ddaney at caviumnetworks.com>:
> On 04/20/2011 11:09 AM, Lennart Poettering wrote:
>>
>> On Wed, 20.04.11 10:36, David Daney (ddaney at caviumnetworks.com) 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.



-- 
Regards,
- cee1


More information about the systemd-devel mailing list