apparmor: add strn version of aa_find_ns

Signed-off-by: John Johansen <john.johansen@canonical.com>
This commit is contained in:
John Johansen
2017-01-16 00:42:22 -08:00
parent 1741e9eb8c
commit 9a2d40c12d
2 changed files with 33 additions and 10 deletions

View File

@@ -138,6 +138,28 @@ void aa_free_ns(struct aa_ns *ns)
kzfree(ns);
}
/**
* aa_findn_ns - look up a profile namespace on the namespace list
* @root: namespace to search in (NOT NULL)
* @name: name of namespace to find (NOT NULL)
* @n: length of @name
*
* Returns: a refcounted namespace on the list, or NULL if no namespace
* called @name exists.
*
* refcount released by caller
*/
struct aa_ns *aa_findn_ns(struct aa_ns *root, const char *name, size_t n)
{
struct aa_ns *ns = NULL;
rcu_read_lock();
ns = aa_get_ns(__aa_findn_ns(&root->sub_ns, name, n));
rcu_read_unlock();
return ns;
}
/**
* aa_find_ns - look up a profile namespace on the namespace list
* @root: namespace to search in (NOT NULL)
@@ -150,13 +172,7 @@ void aa_free_ns(struct aa_ns *ns)
*/
struct aa_ns *aa_find_ns(struct aa_ns *root, const char *name)
{
struct aa_ns *ns = NULL;
rcu_read_lock();
ns = aa_get_ns(__aa_find_ns(&root->sub_ns, name));
rcu_read_unlock();
return ns;
return aa_findn_ns(root, name, strlen(name));
}
/**