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
Родитель bbe4a7c873
Коммит d102d89571
4 изменённых файлов: 7 добавлений и 7 удалений

Просмотреть файл

@ -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,
const char *name);
const char *name, gfp_t gfp);
void aa_policy_destroy(struct aa_policy *policy);
#endif /* AA_LIB_H */

Просмотреть файл

@ -171,20 +171,20 @@ void *__aa_kvmalloc(size_t size, gfp_t flags)
* Returns: true if policy init successful
*/
bool aa_policy_init(struct aa_policy *policy, const char *prefix,
const char *name)
const char *name, gfp_t gfp)
{
/* freed by policy_free */
if (prefix) {
policy->hname = kmalloc(strlen(prefix) + strlen(name) + 3,
GFP_KERNEL);
gfp);
if (policy->hname)
sprintf((char *)policy->hname, "%s//%s", prefix, name);
} else
policy->hname = kstrdup(name, GFP_KERNEL);
policy->hname = kstrdup(name, gfp);
if (!policy->hname)
return 0;
/* 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->profiles);

Просмотреть файл

@ -272,7 +272,7 @@ struct aa_profile *aa_alloc_profile(const char *hname)
goto fail;
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;
kref_init(&profile->count);

Просмотреть файл

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