lkml.org 
[lkml]   [2008]   [Nov]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH -v3 3/8] fsnotify: sys_execve and sys_uselib do not call into fsnotify
    Date
    sys_execve and sys_uselib do not call into fsnotify so inotify, dnotify,
    and importantly to me fanotify do not see opens on things which are going
    to be exectued. Create a generic fsnotify hook for these paths.

    Signed-off-by: Eric Paris <eparis@redhat.com>
    ---

    fs/exec.c | 5 +++++
    include/linux/fsnotify.h | 7 +++++++
    2 files changed, 12 insertions(+), 0 deletions(-)

    diff --git a/fs/exec.c b/fs/exec.c
    index 4e834f1..8f56995 100644
    --- a/fs/exec.c
    +++ b/fs/exec.c
    @@ -51,6 +51,7 @@
    #include <linux/audit.h>
    #include <linux/tracehook.h>
    #include <linux/kmod.h>
    +#include <linux/fsnotify.h>

    #include <asm/uaccess.h>
    #include <asm/mmu_context.h>
    @@ -135,6 +136,8 @@ asmlinkage long sys_uselib(const char __user * library)
    if (IS_ERR(file))
    goto out;

    + fsnotify_open_exec(file);
    +
    error = -ENOEXEC;
    if(file->f_op) {
    struct linux_binfmt * fmt;
    @@ -687,6 +690,8 @@ struct file *open_exec(const char *name)
    if (IS_ERR(file))
    return file;

    + fsnotify_open_exec(file);
    +
    err = deny_write_access(file);
    if (err) {
    fput(file);
    diff --git a/include/linux/fsnotify.h b/include/linux/fsnotify.h
    index dec1afb..ffe787f 100644
    --- a/include/linux/fsnotify.h
    +++ b/include/linux/fsnotify.h
    @@ -168,6 +168,13 @@ static inline void fsnotify_modify(struct file *file)
    }

    /*
    + * fsnotify_open_exec - file was opened by execve or uselib
    + */
    +static inline void fsnotify_open_exec(struct file *file)
    +{
    +}
    +
    +/*
    * fsnotify_open - file was opened
    */
    static inline void fsnotify_open(struct file *file)


    \
     
     \ /
      Last update: 2008-11-25 18:27    [W:0.033 / U:1.164 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site