audit: set the name_len in audit_inode for parent lookups
[linux-block.git] / include / linux / audit.h
index 26408934ef2da9ba16bb1c4e7d3679d1c8a8e228..b11f517dce0443a54408dc45acb6a526b7782047 100644 (file)
@@ -456,6 +456,7 @@ extern int audit_classify_arch(int arch);
 /* audit_names->type values */
 #define        AUDIT_TYPE_UNKNOWN      0       /* we don't know yet */
 #define        AUDIT_TYPE_NORMAL       1       /* a "normal" audit record */
+#define        AUDIT_TYPE_PARENT       2       /* a parent audit record */
 
 #ifdef CONFIG_AUDITSYSCALL
 /* These are defined in auditsc.c */
@@ -468,7 +469,8 @@ extern void __audit_syscall_entry(int arch,
 extern void __audit_syscall_exit(int ret_success, long ret_value);
 extern void __audit_getname(const char *name);
 extern void audit_putname(const char *name);
-extern void __audit_inode(const char *name, const struct dentry *dentry);
+extern void __audit_inode(const char *name, const struct dentry *dentry,
+                               unsigned int parent);
 extern void __audit_inode_child(const struct inode *parent,
                                const struct dentry *dentry);
 extern void __audit_seccomp(unsigned long syscall, long signr, int code);
@@ -505,9 +507,10 @@ static inline void audit_getname(const char *name)
        if (unlikely(!audit_dummy_context()))
                __audit_getname(name);
 }
-static inline void audit_inode(const char *name, const struct dentry *dentry) {
+static inline void audit_inode(const char *name, const struct dentry *dentry,
+                               unsigned int parent) {
        if (unlikely(!audit_dummy_context()))
-               __audit_inode(name, dentry);
+               __audit_inode(name, dentry, parent);
 }
 static inline void audit_inode_child(const struct inode *parent,
                                     const struct dentry *dentry) {
@@ -660,12 +663,14 @@ static inline void audit_getname(const char *name)
 { }
 static inline void audit_putname(const char *name)
 { }
-static inline void __audit_inode(const char *name, const struct dentry *dentry)
+static inline void __audit_inode(const char *name, const struct dentry *dentry,
+                                       unsigned int parent)
 { }
 static inline void __audit_inode_child(const struct inode *parent,
                                        const struct dentry *dentry)
 { }
-static inline void audit_inode(const char *name, const struct dentry *dentry)
+static inline void audit_inode(const char *name, const struct dentry *dentry,
+                               unsigned int parent)
 { }
 static inline void audit_inode_child(const struct inode *parent,
                                     const struct dentry *dentry)