diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2013-03-05 20:10:59 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2013-05-09 13:46:38 -0400 |
commit | 91c2e0bcae72a3086c698b5de2b950b885abb0e6 (patch) | |
tree | 89f738ca8f9519f0fd3b22dd6cfb3dc69d98cfab /fs/notify/fanotify/fanotify_user.c | |
parent | 5522ddb3fc0dfd4a503c8278eafd88c9f2d3fada (diff) | |
download | lwn-91c2e0bcae72a3086c698b5de2b950b885abb0e6.tar.gz lwn-91c2e0bcae72a3086c698b5de2b950b885abb0e6.zip |
unify compat fanotify_mark(2), switch to COMPAT_SYSCALL_DEFINE
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/notify/fanotify/fanotify_user.c')
-rw-r--r-- | fs/notify/fanotify/fanotify_user.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/fs/notify/fanotify/fanotify_user.c b/fs/notify/fanotify/fanotify_user.c index d0be29fa94cf..6c80083a984f 100644 --- a/fs/notify/fanotify/fanotify_user.c +++ b/fs/notify/fanotify/fanotify_user.c @@ -13,6 +13,7 @@ #include <linux/slab.h> #include <linux/types.h> #include <linux/uaccess.h> +#include <linux/compat.h> #include <asm/ioctls.h> @@ -857,6 +858,22 @@ fput_and_out: return ret; } +#ifdef CONFIG_COMPAT +COMPAT_SYSCALL_DEFINE6(fanotify_mark, + int, fanotify_fd, unsigned int, flags, + __u32, mask0, __u32, mask1, int, dfd, + const char __user *, pathname) +{ + return sys_fanotify_mark(fanotify_fd, flags, +#ifdef __BIG_ENDIAN + ((__u64)mask1 << 32) | mask0, +#else + ((__u64)mask0 << 32) | mask1, +#endif + dfd, pathname); +} +#endif + /* * fanotify_user_setup - Our initialization function. Note that we cannot return * error because we have compiled-in VFS hooks. So an (unlikely) failure here |