Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1475982

[PATCH 2/4] perf/x86/cqm: Replace two kmalloc() calls by kmalloc_array() in intel_mbm_init()

From SF Markus Elfring <elfring@users.sourceforge.net>
Newsgroups linux.kernel
Subject [PATCH 2/4] perf/x86/cqm: Replace two kmalloc() calls by kmalloc_array() in intel_mbm_init()
Date 2016-09-04 20:00 +0200
Message-ID <sdJS1-wR-25@gated-at.bofh.it> (permalink)
References <qEuGl-43C-5@gated-at.bofh.it> <sdJS1-wR-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


From: Markus Elfring <elfring@users.sourceforge.net>
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 <elfring@users.sourceforge.net>
---
 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

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 0/4] perf/x86/cqm: Fine-tuning for two function  implementations SF Markus Elfring <elfring@users.sourceforge.net> - 2016-09-04 20:00 +0200
  [PATCH 1/4] perf/x86/cqm: Use kmalloc_array() in intel_mbm_init() SF Markus Elfring <elfring@users.sourceforge.net> - 2016-09-04 20:00 +0200
    Re: [PATCH 1/4] perf/x86/cqm: Use kmalloc_array() in intel_mbm_init() Peter Zijlstra <peterz@infradead.org> - 2016-09-05 10:00 +0200
  [PATCH 2/4] perf/x86/cqm: Replace two kmalloc() calls by  kmalloc_array() in intel_mbm_init() SF Markus Elfring <elfring@users.sourceforge.net> - 2016-09-04 20:00 +0200
    Re: [PATCH 2/4] perf/x86/cqm: Replace two kmalloc() calls by  kmalloc_array() in intel_mbm_init() Peter Zijlstra <peterz@infradead.org> - 2016-09-05 10:00 +0200
  [PATCH 4/4] perf/x86/cqm: Rename jump labels in intel_cqm_init() SF Markus Elfring <elfring@users.sourceforge.net> - 2016-09-04 20:10 +0200
  [PATCH 3/4] perf/x86/cqm: One check and another variable less in  intel_mbm_init() SF Markus Elfring <elfring@users.sourceforge.net> - 2016-09-04 20:10 +0200
    Re: [PATCH 3/4] perf/x86/cqm: One check and another variable less in  intel_mbm_init() Peter Zijlstra <peterz@infradead.org> - 2016-09-05 10:00 +0200
  Re: [PATCH 0/4] perf/x86/cqm: Fine-tuning for two function  implementations Peter Zijlstra <peterz@infradead.org> - 2016-09-05 10:00 +0200

csiph-web