mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
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>
This commit is contained in:
parent
29e9a3467c
commit
e3d6b07b8b
4 changed files with 20 additions and 12 deletions
|
@ -1328,11 +1328,17 @@ int parent_len(const char *path)
|
|||
return p - path;
|
||||
}
|
||||
|
||||
/* Compare given dentry name with last component in given path,
|
||||
* return of 0 indicates a match. */
|
||||
int audit_compare_dname_path(const char *dname, const char *path)
|
||||
/**
|
||||
* audit_compare_dname_path - compare given dentry name with last component in
|
||||
* given path. Return of 0 indicates a match.
|
||||
* @dname: dentry name that we're comparing
|
||||
* @path: full pathname that we're comparing
|
||||
* @parentlen: length of the parent if known. Passing in AUDIT_NAME_FULL
|
||||
* here indicates that we must compute this value.
|
||||
*/
|
||||
int audit_compare_dname_path(const char *dname, const char *path, int parentlen)
|
||||
{
|
||||
int dlen, pathlen, parentlen;
|
||||
int dlen, pathlen;
|
||||
const char *p;
|
||||
|
||||
dlen = strlen(dname);
|
||||
|
@ -1340,7 +1346,7 @@ int audit_compare_dname_path(const char *dname, const char *path)
|
|||
if (pathlen < dlen)
|
||||
return 1;
|
||||
|
||||
parentlen = parent_len(path);
|
||||
parentlen = parentlen == AUDIT_NAME_FULL ? parent_len(path) : parentlen;
|
||||
if (pathlen - parentlen != dlen)
|
||||
return 1;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue