Lose the first argument of audit_inode_child()
it's always equal to ->d_name.name of the second argument Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
123df2944c
commit
cccc6bba3f
4 changed files with 12 additions and 16 deletions
|
@ -1337,7 +1337,7 @@ static int may_delete(struct inode *dir,struct dentry *victim,int isdir)
|
|||
return -ENOENT;
|
||||
|
||||
BUG_ON(victim->d_parent->d_inode != dir);
|
||||
audit_inode_child(victim->d_name.name, victim, dir);
|
||||
audit_inode_child(victim, dir);
|
||||
|
||||
error = inode_permission(dir, MAY_WRITE | MAY_EXEC);
|
||||
if (error)
|
||||
|
|
|
@ -424,7 +424,7 @@ extern void audit_syscall_exit(int failed, long return_code);
|
|||
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_child(const char *dname, const struct dentry *dentry,
|
||||
extern void __audit_inode_child(const struct dentry *dentry,
|
||||
const struct inode *parent);
|
||||
extern void __audit_ptrace(struct task_struct *t);
|
||||
|
||||
|
@ -442,11 +442,10 @@ static inline void audit_inode(const char *name, const struct dentry *dentry) {
|
|||
if (unlikely(!audit_dummy_context()))
|
||||
__audit_inode(name, dentry);
|
||||
}
|
||||
static inline void audit_inode_child(const char *dname,
|
||||
const struct dentry *dentry,
|
||||
static inline void audit_inode_child(const struct dentry *dentry,
|
||||
const struct inode *parent) {
|
||||
if (unlikely(!audit_dummy_context()))
|
||||
__audit_inode_child(dname, dentry, parent);
|
||||
__audit_inode_child(dentry, parent);
|
||||
}
|
||||
void audit_core_dumps(long signr);
|
||||
|
||||
|
@ -544,9 +543,9 @@ extern int audit_signals;
|
|||
#define audit_getname(n) do { ; } while (0)
|
||||
#define audit_putname(n) do { ; } while (0)
|
||||
#define __audit_inode(n,d) do { ; } while (0)
|
||||
#define __audit_inode_child(d,i,p) do { ; } while (0)
|
||||
#define __audit_inode_child(i,p) do { ; } while (0)
|
||||
#define audit_inode(n,d) do { ; } while (0)
|
||||
#define audit_inode_child(d,i,p) do { ; } while (0)
|
||||
#define audit_inode_child(i,p) do { ; } while (0)
|
||||
#define audit_core_dumps(i) do { ; } while (0)
|
||||
#define auditsc_get_stamp(c,t,s) (0)
|
||||
#define audit_get_loginuid(t) (-1)
|
||||
|
|
|
@ -104,7 +104,7 @@ static inline void fsnotify_move(struct inode *old_dir, struct inode *new_dir,
|
|||
inotify_inode_queue_event(source, IN_MOVE_SELF, 0, NULL, NULL);
|
||||
fsnotify(source, FS_MOVE_SELF, moved->d_inode, FSNOTIFY_EVENT_INODE, NULL, 0);
|
||||
}
|
||||
audit_inode_child(new_name, moved, new_dir);
|
||||
audit_inode_child(moved, new_dir);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -147,7 +147,7 @@ static inline void fsnotify_create(struct inode *inode, struct dentry *dentry)
|
|||
{
|
||||
inotify_inode_queue_event(inode, IN_CREATE, 0, dentry->d_name.name,
|
||||
dentry->d_inode);
|
||||
audit_inode_child(dentry->d_name.name, dentry, inode);
|
||||
audit_inode_child(dentry, inode);
|
||||
|
||||
fsnotify(inode, FS_CREATE, dentry->d_inode, FSNOTIFY_EVENT_INODE, dentry->d_name.name, 0);
|
||||
}
|
||||
|
@ -162,7 +162,7 @@ static inline void fsnotify_link(struct inode *dir, struct inode *inode, struct
|
|||
inotify_inode_queue_event(dir, IN_CREATE, 0, new_dentry->d_name.name,
|
||||
inode);
|
||||
fsnotify_link_count(inode);
|
||||
audit_inode_child(new_dentry->d_name.name, new_dentry, dir);
|
||||
audit_inode_child(new_dentry, dir);
|
||||
|
||||
fsnotify(dir, FS_CREATE, inode, FSNOTIFY_EVENT_INODE, new_dentry->d_name.name, 0);
|
||||
}
|
||||
|
@ -176,7 +176,7 @@ static inline void fsnotify_mkdir(struct inode *inode, struct dentry *dentry)
|
|||
struct inode *d_inode = dentry->d_inode;
|
||||
|
||||
inotify_inode_queue_event(inode, mask, 0, dentry->d_name.name, d_inode);
|
||||
audit_inode_child(dentry->d_name.name, dentry, inode);
|
||||
audit_inode_child(dentry, inode);
|
||||
|
||||
fsnotify(inode, mask, d_inode, FSNOTIFY_EVENT_INODE, dentry->d_name.name, 0);
|
||||
}
|
||||
|
|
|
@ -1988,7 +1988,6 @@ void __audit_inode(const char *name, const struct dentry *dentry)
|
|||
|
||||
/**
|
||||
* audit_inode_child - collect inode info for created/removed objects
|
||||
* @dname: inode's dentry name
|
||||
* @dentry: dentry being audited
|
||||
* @parent: inode of dentry parent
|
||||
*
|
||||
|
@ -2000,13 +1999,14 @@ void __audit_inode(const char *name, const struct dentry *dentry)
|
|||
* must be hooked prior, in order to capture the target inode during
|
||||
* unsuccessful attempts.
|
||||
*/
|
||||
void __audit_inode_child(const char *dname, const struct dentry *dentry,
|
||||
void __audit_inode_child(const struct dentry *dentry,
|
||||
const struct inode *parent)
|
||||
{
|
||||
int idx;
|
||||
struct audit_context *context = current->audit_context;
|
||||
const char *found_parent = NULL, *found_child = NULL;
|
||||
const struct inode *inode = dentry->d_inode;
|
||||
const char *dname = dentry->d_name.name;
|
||||
int dirlen = 0;
|
||||
|
||||
if (!context->in_syscall)
|
||||
|
@ -2014,9 +2014,6 @@ void __audit_inode_child(const char *dname, const struct dentry *dentry,
|
|||
|
||||
if (inode)
|
||||
handle_one(inode);
|
||||
/* determine matching parent */
|
||||
if (!dname)
|
||||
goto add_names;
|
||||
|
||||
/* parent is more likely, look for it first */
|
||||
for (idx = 0; idx < context->name_count; idx++) {
|
||||
|
|
Loading…
Reference in a new issue