diff options
| author | Jeff Layton <jlayton@redhat.com> | 2012-10-10 15:25:25 -0400 | 
|---|---|---|
| committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-10-12 00:32:02 -0400 | 
| commit | e3d6b07b8ba161f638b026feba0c3c97875d7f1c (patch) | |
| tree | d40cea06665f9092820d76948d38e329c178011b /kernel/auditsc.c | |
| parent | 29e9a3467c1367549568d7d411d5f30209ae181b (diff) | |
| download | olio-linux-3.10-e3d6b07b8ba161f638b026feba0c3c97875d7f1c.tar.xz olio-linux-3.10-e3d6b07b8ba161f638b026feba0c3c97875d7f1c.zip  | |
audit: optimize audit_compare_dname_path
In the cases where we already know the length of the parent, pass it as
a parm so we don't need to recompute it. In the cases where we don't
know the length, pass in AUDIT_NAME_FULL (-1) to indicate that it should
be determined.
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'kernel/auditsc.c')
| -rw-r--r-- | kernel/auditsc.c | 8 | 
1 files changed, 3 insertions, 5 deletions
diff --git a/kernel/auditsc.c b/kernel/auditsc.c index 09c7b6b4f8e..0160a68b4d7 100644 --- a/kernel/auditsc.c +++ b/kernel/auditsc.c @@ -81,9 +81,6 @@   * a name dynamically and also add those to the list anchored by names_list. */  #define AUDIT_NAMES	5 -/* Indicates that audit should log the full pathname. */ -#define AUDIT_NAME_FULL -1 -  /* no execve audit message should be longer than this (userspace limits) */  #define MAX_EXECVE_AUDIT_LEN 7500 @@ -2222,7 +2219,7 @@ void __audit_inode_child(const struct inode *parent,  			continue;  		if (n->ino == parent->i_ino && -		    !audit_compare_dname_path(dname, n->name)) { +		    !audit_compare_dname_path(dname, n->name, n->name_len)) {  			found_parent = n->name;  			goto add_names;  		} @@ -2235,7 +2232,8 @@ void __audit_inode_child(const struct inode *parent,  		/* strcmp() is the more likely scenario */  		if (!strcmp(dname, n->name) || -		     !audit_compare_dname_path(dname, n->name)) { +		    !audit_compare_dname_path(dname, n->name, +						AUDIT_NAME_FULL)) {  			if (inode)  				audit_copy_inode(n, dentry, inode);  			else  |