From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934100AbcIRMvT (ORCPT ); Sun, 18 Sep 2016 08:51:19 -0400 Received: from mout.web.de ([212.227.17.12]:64541 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1759245AbcIRMvK (ORCPT ); Sun, 18 Sep 2016 08:51:10 -0400 Subject: [PATCH 1/6] firmware-qemu_fw_cfg: Use kmalloc_array() in fw_cfg_register_dir_entries() To: qemu-devel@nongnu.org, Gabriel Somlo , "Michael S. Tsirkin" References: <566ABCD9.1060404@users.sourceforge.net> Cc: LKML , kernel-janitors@vger.kernel.org, Julia Lawall From: SF Markus Elfring Message-ID: Date: Sun, 18 Sep 2016 14:50:56 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:0+kzzczKWoDDTEUtVhictpH+FkuK7NHwjWxEzTrnkqYB80YjWJ+ Oi27zhK7y+CG9+oZjA4HvRNQ8adJbIN4re2+1MXz7xRDQI92HN9BetcUgW0Wf2Qyk/acXG8 D5y81t+chLpmqdT36EIrXLgGXNciH80FrDaU9L9J3mfJ7vPf0vHUT6pcY/qreJ7ACiPm2hL Bs8JjKF6KnsSi32EeqJNg== X-UI-Out-Filterresults: notjunk:1;V01:K0:0ZKEnSN8vCk=:OI+R8b4x9ng4Dp27HFMb8+ MBOCA1juIpJcQ9NVgsYoMmb1Yv/G+xRTcLhM+en/lwRVQBE7+35dWPnQvVEsLaO9i0cTYplbZ qLkV6Iifccbq3w18jDKGtZVfH6HmmNEV0lHRA3ViklyfK1igcDh7w0bq7esa7MHPSqy5s5hvz aTanvnb150C7NtNIBqVG2k6pPJGE4QWfBgx+YUBxcbEcevybWw8dm3nkGkEA2ZDW4G3pQzxoP gWUF1PatTtM/22dKFcGmqgxrlB6GUCOf7hTvQGZljDUBvjWIOpQD/no9eVsPaOXMbeu/Mwnhm O+d5aLRif8Q1hJIgLocoxxczhOVKYMXkWtPgXGaZwCE4uKxt1j6/TQY5vfLCDkl2vFPhEdLtL taNw1vdzo2fhPIQ+lHRg4O05JENpOCdu0+B+Dd8vYSndNe2XVOy8UJctCpgH0iZBdydeotKj7 B9DTP/0az20AoWcdmJlAbd4uwHFv8SryY1N+lhho1zhoqMorTKq7q+F2E7aSfj8FLVLTDCDq5 ORJhk8+rZ38tKaOVuYrVSoei3+ssQJsqEYPgtFFVtvDCLILpwDld8BMVgIA+Ar9pLGUltmv0q NwlBXVrloX39GI/DidV0oO9HWaYs0QREOP9H9Dcd4rgUI4GsX+nCMx7vnfp0oR7UlxD7gwsTE q5eUGM5II1/yzCIEy3y2i9j6UCdRJYUPXkxRlOrcET0Sun3QwAJonBUufAPJGAVeH8Es9tQ5F 3QtlLSFUmdcb3zvmO/ETUJBo/fGUMthMCmDeg3k1vkFKVw/tySJPVGjg3s09eK7jrsz/fmYuZ IMeeeG8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Markus Elfring Date: Sun, 18 Sep 2016 09:39:31 +0200 * A multiplication for the size determination of a memory allocation indicated that an array data structure should be processed. Thus use the corresponding function "kmalloc_array". This issue was detected by using the Coccinelle software. * Replace the specification of a data structure by a pointer dereference to make the corresponding size determination a bit safer according to the Linux coding style convention. * Delete the local variable "dir_size" which became unnecessary with this refactoring. Signed-off-by: Markus Elfring --- drivers/firmware/qemu_fw_cfg.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/firmware/qemu_fw_cfg.c b/drivers/firmware/qemu_fw_cfg.c index 0e20116..e69653e 100644 --- a/drivers/firmware/qemu_fw_cfg.c +++ b/drivers/firmware/qemu_fw_cfg.c @@ -491,17 +491,17 @@ static int fw_cfg_register_dir_entries(void) int ret = 0; u32 count, i; struct fw_cfg_file *dir; - size_t dir_size; fw_cfg_read_blob(FW_CFG_FILE_DIR, &count, 0, sizeof(count)); count = be32_to_cpu(count); - dir_size = count * sizeof(struct fw_cfg_file); - - dir = kmalloc(dir_size, GFP_KERNEL); + dir = kmalloc_array(count, sizeof(*dir), GFP_KERNEL); if (!dir) return -ENOMEM; - fw_cfg_read_blob(FW_CFG_FILE_DIR, dir, sizeof(count), dir_size); + fw_cfg_read_blob(FW_CFG_FILE_DIR, + dir, + sizeof(count), + sizeof(*dir) * count); for (i = 0; i < count; i++) { dir[i].size = be32_to_cpu(dir[i].size); -- 2.10.0