From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758520AbcHYLdD (ORCPT ); Thu, 25 Aug 2016 07:33:03 -0400 Received: from mx1.redhat.com ([209.132.183.28]:34324 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758124AbcHYLdB (ORCPT ); Thu, 25 Aug 2016 07:33:01 -0400 Subject: Re: [PATCH] x86/efi: Use kmalloc_array() in efi_call_phys_prolog() To: SF Markus Elfring , linux-efi@vger.kernel.org, x86@kernel.org, "H. Peter Anvin" , Ingo Molnar , Matt Fleming , Thomas Gleixner References: Cc: LKML , kernel-janitors@vger.kernel.org, Julia Lawall From: Paolo Bonzini Message-ID: Date: Thu, 25 Aug 2016 13:32:51 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Thu, 25 Aug 2016 11:33:00 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 25/08/2016 11:40, SF Markus Elfring wrote: > From: Markus Elfring > Date: Thu, 25 Aug 2016 11:34:03 +0200 > > * A multiplication for the size determination of a memory allocation > indicated that an array data structure should be processed. > Thus reuse the corresponding function "kmalloc_array". > > This issue was detected by using the Coccinelle software. > > * Replace the specification of a data type by a pointer dereference > to make the corresponding size determination a bit safer according to > the Linux coding style convention. > > Signed-off-by: Markus Elfring > --- > arch/x86/platform/efi/efi_64.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/x86/platform/efi/efi_64.c b/arch/x86/platform/efi/efi_64.c > index 677e29e..311022a 100644 > --- a/arch/x86/platform/efi/efi_64.c > +++ b/arch/x86/platform/efi/efi_64.c > @@ -85,7 +85,7 @@ pgd_t * __init efi_call_phys_prolog(void) > early_code_mapping_set_exec(1); > > n_pgds = DIV_ROUND_UP((max_pfn << PAGE_SHIFT), PGDIR_SIZE); > - save_pgd = kmalloc(n_pgds * sizeof(pgd_t), GFP_KERNEL); > + save_pgd = kmalloc_array(n_pgds, sizeof(*save_pgd), GFP_KERNEL); > > for (pgd = 0; pgd < n_pgds; pgd++) { > save_pgd[pgd] = *pgd_offset_k(pgd * PGDIR_SIZE); > Reviewed-by: Paolo Bonzini