fanotify: fanotify_init syscall declaration

This patch defines a new syscall fanotify_init() of the form:

int sys_fanotify_init(unsigned int flags, unsigned int event_f_flags,
		      unsigned int priority)

This syscall is used to create and fanotify group.  This is very similar to
the inotify_init() syscall.

Signed-off-by: Eric Paris <eparis@redhat.com>
This commit is contained in:
Eric Paris 2009-12-17 21:24:25 -05:00
Родитель 9dced01a09
Коммит 11637e4b7d
8 изменённых файлов: 25 добавлений и 2 удалений

Просмотреть файл

@ -842,4 +842,5 @@ ia32_sys_call_table:
.quad compat_sys_rt_tgsigqueueinfo /* 335 */ .quad compat_sys_rt_tgsigqueueinfo /* 335 */
.quad sys_perf_event_open .quad sys_perf_event_open
.quad compat_sys_recvmmsg .quad compat_sys_recvmmsg
.quad sys_fanotify_init
ia32_syscall_end: ia32_syscall_end:

Просмотреть файл

@ -343,10 +343,11 @@
#define __NR_rt_tgsigqueueinfo 335 #define __NR_rt_tgsigqueueinfo 335
#define __NR_perf_event_open 336 #define __NR_perf_event_open 336
#define __NR_recvmmsg 337 #define __NR_recvmmsg 337
#define __NR_fanotify_init 338
#ifdef __KERNEL__ #ifdef __KERNEL__
#define NR_syscalls 338 #define NR_syscalls 339
#define __ARCH_WANT_IPC_PARSE_VERSION #define __ARCH_WANT_IPC_PARSE_VERSION
#define __ARCH_WANT_OLD_READDIR #define __ARCH_WANT_OLD_READDIR

Просмотреть файл

@ -663,6 +663,8 @@ __SYSCALL(__NR_rt_tgsigqueueinfo, sys_rt_tgsigqueueinfo)
__SYSCALL(__NR_perf_event_open, sys_perf_event_open) __SYSCALL(__NR_perf_event_open, sys_perf_event_open)
#define __NR_recvmmsg 299 #define __NR_recvmmsg 299
__SYSCALL(__NR_recvmmsg, sys_recvmmsg) __SYSCALL(__NR_recvmmsg, sys_recvmmsg)
#define __NR_fanotify_init 300
__SYSCALL(__NR_fanotify_init, sys_fanotify_init)
#ifndef __NO_STUBS #ifndef __NO_STUBS
#define __ARCH_WANT_OLD_READDIR #define __ARCH_WANT_OLD_READDIR

Просмотреть файл

@ -337,3 +337,4 @@ ENTRY(sys_call_table)
.long sys_rt_tgsigqueueinfo /* 335 */ .long sys_rt_tgsigqueueinfo /* 335 */
.long sys_perf_event_open .long sys_perf_event_open
.long sys_recvmmsg .long sys_recvmmsg
.long sys_fanotify_init

Просмотреть файл

@ -1 +1 @@
obj-$(CONFIG_FANOTIFY) += fanotify.o obj-$(CONFIG_FANOTIFY) += fanotify.o fanotify_user.o

Просмотреть файл

@ -0,0 +1,13 @@
#include <linux/fcntl.h>
#include <linux/fs.h>
#include <linux/fsnotify_backend.h>
#include <linux/security.h>
#include <linux/syscalls.h>
#include "fanotify.h"
SYSCALL_DEFINE3(fanotify_init, unsigned int, flags, unsigned int, event_f_flags,
unsigned int, priority)
{
return -ENOSYS;
}

Просмотреть файл

@ -813,6 +813,8 @@ asmlinkage long sys_pselect6(int, fd_set __user *, fd_set __user *,
asmlinkage long sys_ppoll(struct pollfd __user *, unsigned int, asmlinkage long sys_ppoll(struct pollfd __user *, unsigned int,
struct timespec __user *, const sigset_t __user *, struct timespec __user *, const sigset_t __user *,
size_t); size_t);
asmlinkage long sys_fanotify_init(unsigned int flags, unsigned int event_f_flags,
unsigned int priority);
int kernel_execve(const char *filename, char *const argv[], char *const envp[]); int kernel_execve(const char *filename, char *const argv[], char *const envp[]);

Просмотреть файл

@ -181,3 +181,6 @@ cond_syscall(sys_eventfd2);
/* performance counters: */ /* performance counters: */
cond_syscall(sys_perf_event_open); cond_syscall(sys_perf_event_open);
/* fanotify! */
cond_syscall(sys_fanotify_init);