lkml.org 
[lkml]   [2008]   [Nov]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH =-v3 05/21] fanotify: make use of the new fsnotify_open_exec calls
Date
This function sends fanotify events for opens which we know are being used
for exec. These are basically just systecalls to sys_execve and sys_uselib

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

include/linux/fanotify.h | 4 +++-
include/linux/fsnotify.h | 3 ++-
2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/include/linux/fanotify.h b/include/linux/fanotify.h
index 7f1179e..c991bd9 100644
--- a/include/linux/fanotify.h
+++ b/include/linux/fanotify.h
@@ -14,13 +14,15 @@
#define FAN_MODIFY 0x00000002 /* File was modified */
#define FAN_CLOSE_NOWRITE 0x00000004 /* Unwrittable file closed */
#define FAN_CLOSE_WRITE 0x00000008 /* Writtable file closed */
-#define FAN_OPEN 0x00000010 /* File was opened */
+#define FAN_OPEN_NOEXEC 0x00000010 /* File was opened */
+#define FAN_OPEN_EXEC 0x00000020 /* File was opened with the intention of being exec'ed */

/* FIXME currently Q's have no limit.... */
#define FAN_Q_OVERFLOW 0x80000000 /* Event queued overflowed */

/* helper events */
#define FAN_CLOSE (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE) /* close */
+#define FAN_OPEN (FAN_OPEN_NOEXEC | FAN_OPEN_EXEC) /* open */

/*
* All of the events - we build the list by hand so that we can add flags in
diff --git a/include/linux/fsnotify.h b/include/linux/fsnotify.h
index bf53881..894f573 100644
--- a/include/linux/fsnotify.h
+++ b/include/linux/fsnotify.h
@@ -175,6 +175,7 @@ static inline void fsnotify_modify(struct file *file)
*/
static inline void fsnotify_open_exec(struct file *file)
{
+ fanotify(file, FAN_OPEN_EXEC);
}

/*
@@ -191,7 +192,7 @@ static inline void fsnotify_open(struct file *file)

inotify_dentry_parent_queue_event(dentry, mask, 0, dentry->d_name.name);
inotify_inode_queue_event(inode, mask, 0, NULL, NULL);
- fanotify(file, FAN_OPEN);
+ fanotify(file, FAN_OPEN_NOEXEC);
}

/*


\
 
 \ /
  Last update: 2008-11-12 17:13    [W:0.105 / U:1.112 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site