diff options
author | Eric Paris <eparis@redhat.com> | 2009-12-17 21:24:21 -0500 |
---|---|---|
committer | Eric Paris <eparis@redhat.com> | 2010-07-28 09:58:32 -0400 |
commit | 2a12a9d7814631e918dec93abad856e692d5286d (patch) | |
tree | 12817004ae9667bf83f869606f38050636edeb61 /fs/exec.c | |
parent | 8112e2d6a7356e8c3ff1f7f3c86f375ed0305705 (diff) |
fsnotify: pass a file instead of an inode to open, read, and write
fanotify, the upcoming notification system actually needs a struct path so it can
do opens in the context of listeners, and it needs a file so it can get f_flags
from the original process. Close was the only operation that already was passing
a struct file to the notification hook. This patch passes a file for access,
modify, and open as well as they are easily available to these hooks.
Signed-off-by: Eric Paris <eparis@redhat.com>
Diffstat (limited to 'fs/exec.c')
-rw-r--r-- | fs/exec.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -129,7 +129,7 @@ SYSCALL_DEFINE1(uselib, const char __user *, library) | |||
129 | if (file->f_path.mnt->mnt_flags & MNT_NOEXEC) | 129 | if (file->f_path.mnt->mnt_flags & MNT_NOEXEC) |
130 | goto exit; | 130 | goto exit; |
131 | 131 | ||
132 | fsnotify_open(file->f_path.dentry); | 132 | fsnotify_open(file); |
133 | 133 | ||
134 | error = -ENOEXEC; | 134 | error = -ENOEXEC; |
135 | if(file->f_op) { | 135 | if(file->f_op) { |
@@ -683,7 +683,7 @@ struct file *open_exec(const char *name) | |||
683 | if (file->f_path.mnt->mnt_flags & MNT_NOEXEC) | 683 | if (file->f_path.mnt->mnt_flags & MNT_NOEXEC) |
684 | goto exit; | 684 | goto exit; |
685 | 685 | ||
686 | fsnotify_open(file->f_path.dentry); | 686 | fsnotify_open(file); |
687 | 687 | ||
688 | err = deny_write_access(file); | 688 | err = deny_write_access(file); |
689 | if (err) | 689 | if (err) |