sys_execve and sys_uselib do not call into fsnotify
sys_execve and sys_uselib do not call into fsnotify so inotify does not get open events for these types of syscalls. This patch simply makes the requisite fsnotify calls. Signed-off-by: Eric Paris <eparis@redhat.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
56ff5efad9
commit
6110e3abbf
|
@ -51,6 +51,7 @@
|
||||||
#include <linux/audit.h>
|
#include <linux/audit.h>
|
||||||
#include <linux/tracehook.h>
|
#include <linux/tracehook.h>
|
||||||
#include <linux/kmod.h>
|
#include <linux/kmod.h>
|
||||||
|
#include <linux/fsnotify.h>
|
||||||
|
|
||||||
#include <asm/uaccess.h>
|
#include <asm/uaccess.h>
|
||||||
#include <asm/mmu_context.h>
|
#include <asm/mmu_context.h>
|
||||||
|
@ -132,6 +133,8 @@ asmlinkage long sys_uselib(const char __user * library)
|
||||||
if (IS_ERR(file))
|
if (IS_ERR(file))
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
|
fsnotify_open(file->f_path.dentry);
|
||||||
|
|
||||||
error = -ENOEXEC;
|
error = -ENOEXEC;
|
||||||
if(file->f_op) {
|
if(file->f_op) {
|
||||||
struct linux_binfmt * fmt;
|
struct linux_binfmt * fmt;
|
||||||
|
@ -684,6 +687,8 @@ struct file *open_exec(const char *name)
|
||||||
if (IS_ERR(file))
|
if (IS_ERR(file))
|
||||||
return file;
|
return file;
|
||||||
|
|
||||||
|
fsnotify_open(file->f_path.dentry);
|
||||||
|
|
||||||
err = deny_write_access(file);
|
err = deny_write_access(file);
|
||||||
if (err) {
|
if (err) {
|
||||||
fput(file);
|
fput(file);
|
||||||
|
|
Loading…
Reference in New Issue