From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1762460AbcINOAZ (ORCPT ); Wed, 14 Sep 2016 10:00:25 -0400 Received: from mout.web.de ([212.227.15.14]:59436 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756319AbcINOAX (ORCPT ); Wed, 14 Sep 2016 10:00:23 -0400 Subject: [PATCH 01/11] virtio_console: Use kmalloc_array() in init_vqs() To: virtualization@lists.linux-foundation.org, Amit Shah , Arnd Bergmann , Greg Kroah-Hartman , "Michael S. Tsirkin" , Rusty Russell References: <566ABCD9.1060404@users.sourceforge.net> <020438b9-a7f8-0050-04c1-43382ba60b75@users.sourceforge.net> Cc: LKML , kernel-janitors@vger.kernel.org, Julia Lawall From: SF Markus Elfring Message-ID: Date: Wed, 14 Sep 2016 16:00:05 +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: <020438b9-a7f8-0050-04c1-43382ba60b75@users.sourceforge.net> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:MPfOVPgHTBMFJ5HtXBThX5/tcLFNoUqBu2+om2OWl9kMOqalNjl GqujZfJXgqr7yD4K+5AhfX7ogwYgRwv5JLUtO8Q8n5pFMzEthh0HBkSYy7SUkMaeecv4Zhn xbdz7cXfXVd9nIuoegnD7Gk1QhHf00PKgM29lKiKCIGCdngKCioWedsqf4PIVoswRlTx0ku FDnpFfdgICa98jNT70vJQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:53GFen7vgLc=:YJLuZzceBfkRAFR2YwVxVH Z+d8xlsAx73qnL8CKn0fgSpLTPy8NuiBRtzCktWjdcFOrIxNAzCZYxhMwNlckvAPnQJv3Fe5N /e2vUYBrQRETVCGLKbQqoWJyPa4LpSB9bib3f0wKhuIARupCmdfh9lGxWVDtpohXc/SYzbKyP v24t+3NpM8F867N6JDDtK9+4pXekQvGh4k6lvNe+Jb8enKCVGAI+xPLGiWSbqL1TyW2ihjiCI igaBUlTcP4+L90XH0Me5FdrEg5++zsI2rxiIaePZzVodeTijyE3XxIw6c/oUZEu50qAdzxqGs w0s/XX1fHiCJgF051CLHhfbaIDDq75y1RP14l/a2aF3rP7vrif5pclyiZYnI8fivVsvQNf2Zw tt7PwAC9HfxZAxuANedqPe9Hxy20bl8FcRFajri1JLPJvtC6+WPwL/1mNARlMi7zhntmVvHuK 2uI9MfvDRBqikYT8+KHZwIzyTXfwh3vo4EkGBUxzowhKuRDqcLRR6aSqHs+eUQuLYAtTZwh5P vVcPVHxdyBphwuhYFZzl7eP4czrP1khBQhe//LEs+Ne9+ZCKVJVYzQcJ8jXr3MTm68I539S1q wPZx1QtVsw+PadzymbE4df3kYjQBLoiUqY8hSJNc587riGcLngMgEhAmdvSMK0+W0JMG0eRbF /ksMZoYFuxxqe844Yp4JFys1+U1Cnnlwzud3he/lu5S+1Yc7m2I1aY9mn3ZUDlU0dLFVAhCEK mOTi0GV371Zw91GsEUvmYgAd2tIVVrB97liWbHR1Je3uaSbdRAyXFy3J8fd/jP2DdmyFtnCdn PHHbAjB Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Markus Elfring Date: Wed, 14 Sep 2016 11:23:59 +0200 * Multiplications for the size determination of memory allocations indicated that array data structures should be processed. Thus use the corresponding function "kmalloc_array". This issue was detected by using the Coccinelle software. * Replace the specifications of data types by pointer dereferences to make the corresponding size determination a bit safer according to the Linux coding style convention. Signed-off-by: Markus Elfring --- drivers/char/virtio_console.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/drivers/char/virtio_console.c b/drivers/char/virtio_console.c index d2406fe..325ebc6 100644 --- a/drivers/char/virtio_console.c +++ b/drivers/char/virtio_console.c @@ -1881,13 +1881,17 @@ static int init_vqs(struct ports_device *portdev) nr_ports = portdev->config.max_nr_ports; nr_queues = use_multiport(portdev) ? (nr_ports + 1) * 2 : 2; - vqs = kmalloc(nr_queues * sizeof(struct virtqueue *), GFP_KERNEL); - io_callbacks = kmalloc(nr_queues * sizeof(vq_callback_t *), GFP_KERNEL); - io_names = kmalloc(nr_queues * sizeof(char *), GFP_KERNEL); - portdev->in_vqs = kmalloc(nr_ports * sizeof(struct virtqueue *), - GFP_KERNEL); - portdev->out_vqs = kmalloc(nr_ports * sizeof(struct virtqueue *), - GFP_KERNEL); + vqs = kmalloc_array(nr_queues, sizeof(*vqs), GFP_KERNEL); + io_callbacks = kmalloc_array(nr_queues, + sizeof(*io_callbacks), + GFP_KERNEL); + io_names = kmalloc_array(nr_queues, sizeof(*io_names), GFP_KERNEL); + portdev->in_vqs = kmalloc_array(nr_ports, + sizeof(*portdev->in_vqs), + GFP_KERNEL); + portdev->out_vqs = kmalloc_array(nr_ports, + sizeof(*portdev->out_vqs), + GFP_KERNEL); if (!vqs || !io_callbacks || !io_names || !portdev->in_vqs || !portdev->out_vqs) { err = -ENOMEM; -- 2.10.0