Re: [PATCH] ima: Fix sizeof mismatches
From: Mimi Zohar <zohar@linux.ibm.com>
Date: 2020-10-13 16:17:56
Also in:
kernel-janitors, linux-integrity, lkml
On Mon, 2020-10-12 at 19:10 +0100, Colin Ian King wrote:
On 12/10/2020 19:06, Joe Perches wrote:quoted
On Mon, 2020-10-12 at 13:51 -0400, Mimi Zohar wrote:quoted
On Wed, 2020-10-07 at 11:27 -0700, Joe Perches wrote:quoted
On Wed, 2020-10-07 at 12:02 +0100, Colin King wrote:quoted
An incorrect sizeof is being used, sizeof(*fields) is not correct, it should be sizeof(**fields). This is not causing a problem since the size of these is the same. Fix this in the kmalloc_array and memcpy calls.[]quoted
diff --git a/security/integrity/ima/ima_template.c b/security/integrity/ima/ima_template.c[]quoted
@@ -216,11 +216,11 @@ int template_desc_init_fields(const char *template_fmt, } if (fields && num_fields) { - *fields = kmalloc_array(i, sizeof(*fields), GFP_KERNEL); + *fields = kmalloc_array(i, sizeof(**fields), GFP_KERNEL); if (*fields == NULL) return -ENOMEM; - memcpy(*fields, found_fields, i * sizeof(*fields)); + memcpy(*fields, found_fields, i * sizeof(**fields));Maybe use kmemdup instead. if (fields && num_fields) { *fields = kmemdup(found_fields, i * sizeof(**fields), GFP_KERNEL); etc...Thanks, Joe. Since this patch will be backported, perhaps it would be better to leave this as a bug fix and upstream other changes independently.IMO: This patch doesn't need need backporting as it doesn't actually fix anything other than a style defect. void * and void ** are the same size.indeed, same size, it's a semantic difference *and* a style fix :-)
Colin, based on Joe's suggestion of using kmemdup and his opinion of not backporting this change, can I assume you'll address his comments and re-post v3? thanks, Mimi