Commit 11220db4 authored by Huaxin Lu's avatar Huaxin Lu Committed by Mimi Zohar
Browse files

ima: Fix a potential NULL pointer access in ima_restore_measurement_list



In restore_template_fmt, when kstrdup fails, a non-NULL value will still be
returned, which causes a NULL pointer access in template_desc_init_fields.

Fixes: c7d09367 ("ima: support restoring multiple template formats")
Cc: stable@kernel.org
Co-developed-by: default avatarJiaming Li <lijiaming30@huawei.com>
Signed-off-by: default avatarJiaming Li <lijiaming30@huawei.com>
Signed-off-by: default avatarHuaxin Lu <luhuaxin1@huawei.com>
Reviewed-by: default avatarStefan Berger <stefanb@linux.ibm.com>
Signed-off-by: default avatarMimi Zohar <zohar@linux.ibm.com>
parent 0be56a11
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -340,8 +340,11 @@ static struct ima_template_desc *restore_template_fmt(char *template_name)

	template_desc->name = "";
	template_desc->fmt = kstrdup(template_name, GFP_KERNEL);
	if (!template_desc->fmt)
	if (!template_desc->fmt) {
		kfree(template_desc);
		template_desc = NULL;
		goto out;
	}

	spin_lock(&template_list);
	list_add_tail_rcu(&template_desc->list, &defined_templates);