apparmor: pass gfp param into aa_policy_init()

Signed-off-by: John Johansen <john.johansen@canonical.com>
This commit is contained in:
John Johansen 2017-01-16 00:42:31 -08:00
parent bbe4a7c873
commit d102d89571
4 changed files with 7 additions and 7 deletions

View File

@ -194,7 +194,7 @@ static inline struct aa_policy *__policy_strn_find(struct list_head *head,
} }
bool aa_policy_init(struct aa_policy *policy, const char *prefix, bool aa_policy_init(struct aa_policy *policy, const char *prefix,
const char *name); const char *name, gfp_t gfp);
void aa_policy_destroy(struct aa_policy *policy); void aa_policy_destroy(struct aa_policy *policy);
#endif /* AA_LIB_H */ #endif /* AA_LIB_H */

View File

@ -171,20 +171,20 @@ void *__aa_kvmalloc(size_t size, gfp_t flags)
* Returns: true if policy init successful * Returns: true if policy init successful
*/ */
bool aa_policy_init(struct aa_policy *policy, const char *prefix, bool aa_policy_init(struct aa_policy *policy, const char *prefix,
const char *name) const char *name, gfp_t gfp)
{ {
/* freed by policy_free */ /* freed by policy_free */
if (prefix) { if (prefix) {
policy->hname = kmalloc(strlen(prefix) + strlen(name) + 3, policy->hname = kmalloc(strlen(prefix) + strlen(name) + 3,
GFP_KERNEL); gfp);
if (policy->hname) if (policy->hname)
sprintf((char *)policy->hname, "%s//%s", prefix, name); sprintf((char *)policy->hname, "%s//%s", prefix, name);
} else } else
policy->hname = kstrdup(name, GFP_KERNEL); policy->hname = kstrdup(name, gfp);
if (!policy->hname) if (!policy->hname)
return 0; return 0;
/* base.name is a substring of fqname */ /* base.name is a substring of fqname */
policy->name = (char *)basename(policy->hname); policy->name = basename(policy->hname);
INIT_LIST_HEAD(&policy->list); INIT_LIST_HEAD(&policy->list);
INIT_LIST_HEAD(&policy->profiles); INIT_LIST_HEAD(&policy->profiles);

View File

@ -272,7 +272,7 @@ struct aa_profile *aa_alloc_profile(const char *hname)
goto fail; goto fail;
kref_init(&profile->proxy->count); kref_init(&profile->proxy->count);
if (!aa_policy_init(&profile->base, NULL, hname)) if (!aa_policy_init(&profile->base, NULL, hname, GFP_KERNEL))
goto fail; goto fail;
kref_init(&profile->count); kref_init(&profile->count);

View File

@ -95,7 +95,7 @@ static struct aa_ns *alloc_ns(const char *prefix, const char *name)
AA_DEBUG("%s(%p)\n", __func__, ns); AA_DEBUG("%s(%p)\n", __func__, ns);
if (!ns) if (!ns)
return NULL; return NULL;
if (!aa_policy_init(&ns->base, prefix, name)) if (!aa_policy_init(&ns->base, prefix, name, GFP_KERNEL))
goto fail_ns; goto fail_ns;
INIT_LIST_HEAD(&ns->sub_ns); INIT_LIST_HEAD(&ns->sub_ns);