From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754204AbcIDR7Q (ORCPT ); Sun, 4 Sep 2016 13:59:16 -0400 Received: from mout.web.de ([212.227.15.3]:59691 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753581AbcIDR7N (ORCPT ); Sun, 4 Sep 2016 13:59:13 -0400 Subject: [PATCH 2/4] perf/x86/cqm: Replace two kmalloc() calls by kmalloc_array() in intel_mbm_init() To: x86@kernel.org, Borislav Petkov , "H. Peter Anvin" , Ingo Molnar , Peter Zijlstra , Richard Cochran , Stephane Eranian , Thomas Gleixner , Tony Luck , Vikas Shivappa References: <566ABCD9.1060404@users.sourceforge.net> <9d893198-dd12-14a8-74bd-02fc42de4bf4@users.sourceforge.net> Cc: LKML , kernel-janitors@vger.kernel.org, Julia Lawall , Paolo Bonzini From: SF Markus Elfring Message-ID: Date: Sun, 4 Sep 2016 19:56:30 +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: <9d893198-dd12-14a8-74bd-02fc42de4bf4@users.sourceforge.net> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:rx4TQ/VVYVW+OWvepXg1L6CFuWKfhelaDixITZWhKk9mUZOnK/D Fn80vrRq40lVchAB6EhMycG4hCq1ULhHhpKSHy3Pf6LfUXJeCtBAtDTD+ymPxlnev12qSNT 9Bxz1pYVIfS3XcBNOIKBUOlUfDc4Rr5kp1jMm2GsqRzGyMpOUuShErM0yOeQxM+tz1i6Tsu c3q6wJR2Q2xlaSri5OlZg== X-UI-Out-Filterresults: notjunk:1;V01:K0:UnntRHrBHjw=:eyijWsuTLnXcfASjLoh4g1 zJKNt3++daOtEhuhLCpj+w0V7DAVrP/Dlak+B/k9xp7TfKVz8Hv8DVFgYRsB4cZ43grfDt4Gk lC6JdkWxtUzrzVP5i9CuAEy70vgxZg48o5Aw4IQvM/sqQBZgvvos42j/y/tk19ValQKfk/RZ4 kgD7p4N9vYtAU8XF32NfQkc5EsNoh9GVigrh+iaV/7J62G48VzotaBwxpKuJZxzFpnWVBaI6H 8UbFMEMYOmgpE/wQfgSxWdEGvUsl7USD58S0s1E9ep9weqTW+G4KdK0WpZi6SW9Qz/FpmE6Nn xF/gaUXPby7aHW0qHwlzOGYubs6DckZjahrlWPWb5oNj2vgqDRGE1ZRuIOBbhfU+ZDv7mz6AU VXFoOMMLgjYILvkiVEF6VuWBxjMmzG73W/LH0RgCccGbvhqSbrAxiwZIS/uks4k6muS+y6aaF ycU4OspTX72a3l9nHSChaJhgqsasOzwyCiKuUluHYPYPMxlFtD3UfquhQzfaD+WFMifByJKJI NCbaTH6B0SXYIfcFG7rFUBJ1Q7/Rjbt2/S21PGFg5BrP8PNvaIkYQqXJLeAtco9YR54ynMRdZ LMt/HIBBueQHZtodSbU/nglh5F0egSd249XFFSYFVvtuGI1bS2yTkoW1b9Y3jB39lxPZ5CUsr FJZmrAwFB/TSA/bMTYF84dT6V18JqIbbhvxciiaPqGIq1HucxV5aD279oawtEFpX7oKIi9O0m bWnRA2Uzr/CAWtj6H75Wybhl1fVuVQot5YBuZXKYQt9+fkCuOg0MAoxY/aJp8MhjshEQoV1a7 hYozX4Q Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Markus Elfring Date: Sun, 4 Sep 2016 18:25:09 +0200 1. A multiplication for the size determination of memory allocations indicated that array data structures should be processed. Thus use the corresponding function "kmalloc_array". 2. Replace the specification of a data structure by pointer dereferences to make the corresponding size determination a bit safer according to the Linux coding style convention. 3. Delete the local variable "array_size" which became unnecessary with this refactoring. Signed-off-by: Markus Elfring --- arch/x86/events/intel/cqm.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/arch/x86/events/intel/cqm.c b/arch/x86/events/intel/cqm.c index ec61522..29f756e 100644 --- a/arch/x86/events/intel/cqm.c +++ b/arch/x86/events/intel/cqm.c @@ -1637,15 +1637,18 @@ static const struct x86_cpu_id intel_mbm_total_match[] = { static int intel_mbm_init(void) { - int ret = 0, array_size, maxid = cqm_max_rmid + 1; + int ret = 0, maxid = cqm_max_rmid + 1; mbm_socket_max = topology_max_packages(); - array_size = sizeof(struct sample) * maxid * mbm_socket_max; - mbm_local = kmalloc(array_size, GFP_KERNEL); + mbm_local = kmalloc_array(maxid * mbm_socket_max, + sizeof(*mbm_local), + GFP_KERNEL); if (!mbm_local) return -ENOMEM; - mbm_total = kmalloc(array_size, GFP_KERNEL); + mbm_total = kmalloc_array(maxid * mbm_socket_max, + sizeof(*mbm_total), + GFP_KERNEL); if (!mbm_total) { ret = -ENOMEM; goto out; -- 2.9.3