fanotify: sys_fanotify_mark declartion
authorEric Paris <eparis@redhat.com>
Fri, 18 Dec 2009 02:24:26 +0000 (21:24 -0500)
committerEric Paris <eparis@redhat.com>
Wed, 28 Jul 2010 13:58:55 +0000 (09:58 -0400)
This patch simply declares the new sys_fanotify_mark syscall

int fanotify_mark(int fanotify_fd, unsigned int flags, u64_mask,
  int dfd const char *pathname)

Signed-off-by: Eric Paris <eparis@redhat.com>
arch/x86/ia32/ia32entry.S
arch/x86/ia32/sys_ia32.c
arch/x86/include/asm/sys_ia32.h
arch/x86/include/asm/unistd_32.h
arch/x86/include/asm/unistd_64.h
arch/x86/kernel/syscall_table_32.S
fs/notify/fanotify/fanotify_user.c
include/linux/syscalls.h
kernel/sys_ni.c

index 586cb3be2e323f989f7a738b34419b8c49ba3456..17cf65c948048cbd22257005b9ebec5e50a86335 100644 (file)
@@ -843,4 +843,5 @@ ia32_sys_call_table:
        .quad sys_perf_event_open
        .quad compat_sys_recvmmsg
        .quad sys_fanotify_init
+       .quad sys32_fanotify_mark
 ia32_syscall_end:
index 626be156d88def72a0fa7bf87f5e3f822c9c63bd..3d093311d5e230cd9defbabc80e1ea5398a2e614 100644 (file)
@@ -546,3 +546,12 @@ asmlinkage long sys32_fallocate(int fd, int mode, unsigned offset_lo,
        return sys_fallocate(fd, mode, ((u64)offset_hi << 32) | offset_lo,
                             ((u64)len_hi << 32) | len_lo);
 }
+
+asmlinkage long sys32_fanotify_mark(int fanotify_fd, unsigned int flags,
+                                   u32 mask_lo, u32 mask_hi,
+                                   int fd, const char  __user *pathname)
+{
+       return sys_fanotify_mark(fanotify_fd, flags,
+                                ((u64)mask_hi << 32) | mask_lo,
+                                fd, pathname);
+}
index 3ad421784ae7ae477db33707feee7cdd0ddc3bed..cf4e2e381cbab6848e324783e476781ed8555b7f 100644 (file)
@@ -80,4 +80,7 @@ asmlinkage long sys32_rt_sigreturn(struct pt_regs *);
 
 /* ia32/ipc32.c */
 asmlinkage long sys32_ipc(u32, int, int, int, compat_uptr_t, u32);
+
+asmlinkage long sys32_fanotify_mark(int, unsigned int, u32, u32, int,
+                                   const char __user *);
 #endif /* _ASM_X86_SYS_IA32_H */
index 981c7e7ad8040eb0d6150dd4e7083426d361731e..80b799cd74f7ad8be7461dc21f09827ad107c582 100644 (file)
 #define __NR_perf_event_open   336
 #define __NR_recvmmsg          337
 #define __NR_fanotify_init     338
+#define __NR_fanotify_mark     339
 
 #ifdef __KERNEL__
 
-#define NR_syscalls 339
+#define NR_syscalls 340
 
 #define __ARCH_WANT_IPC_PARSE_VERSION
 #define __ARCH_WANT_OLD_READDIR
index 4f23e04bdb345ffa1bfd17c265837ea45ddc307c..5b7b1d5856167457209b2eddb75ea19593aeac26 100644 (file)
@@ -665,6 +665,8 @@ __SYSCALL(__NR_perf_event_open, sys_perf_event_open)
 __SYSCALL(__NR_recvmmsg, sys_recvmmsg)
 #define __NR_fanotify_init                     300
 __SYSCALL(__NR_fanotify_init, sys_fanotify_init)
+#define __NR_fanotify_mark                     301
+__SYSCALL(__NR_fanotify_mark, sys_fanotify_mark)
 
 #ifndef __NO_STUBS
 #define __ARCH_WANT_OLD_READDIR
index e38793b50e1d7e7c5582bc029f0e47abb7abc4b9..07ad5eb7cc5c57715e6229ac3513ae4a5de556a8 100644 (file)
@@ -338,3 +338,4 @@ ENTRY(sys_call_table)
        .long sys_perf_event_open
        .long sys_recvmmsg
        .long sys_fanotify_init
+       .long sys_fanotify_mark
index 67c0b5e4a4886b4838a6b026bf955c343bd3e49e..55d6e379f2b6f37341e4bff2a9bfe6d3e9b5fd85 100644 (file)
@@ -70,3 +70,9 @@ out_put_group:
        fsnotify_put_group(group);
        return fd;
 }
+
+SYSCALL_DEFINE5(fanotify_mark, int, fanotify_fd, unsigned int, flags,
+               __u64, mask, int, dfd, const char  __user *, pathname)
+{
+       return -ENOSYS;
+}
index 198dcc9bd025c1d2ce0d87b7d82816346464d9d3..5b05c37059e9bead64b3bf3b944f8d273a3007ff 100644 (file)
@@ -815,6 +815,9 @@ asmlinkage long sys_ppoll(struct pollfd __user *, unsigned int,
                          size_t);
 asmlinkage long sys_fanotify_init(unsigned int flags, unsigned int event_f_flags,
                                  unsigned int priority);
+asmlinkage long sys_fanotify_mark(int fanotify_fd, unsigned int flags,
+                                 u64 mask, int fd,
+                                 const char  __user *pathname);
 
 int kernel_execve(const char *filename, char *const argv[], char *const envp[]);
 
index 2c4adc2decc380279a81dfbc3c27fdc7a9c52a66..bad369ec54036afe9a2c2d87011fc99ea488755b 100644 (file)
@@ -184,3 +184,4 @@ cond_syscall(sys_perf_event_open);
 
 /* fanotify! */
 cond_syscall(sys_fanotify_init);
+cond_syscall(sys_fanotify_mark);