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


Groups > linux.kernel > #1496538

[PATCH 40/54] md/raid10: Use kcalloc() in two functions

Path csiph.com!news.mixmin.net!aioe.org!bofh.it!news.nic.it!robomod
From SF Markus Elfring <elfring@users.sourceforge.net>
Newsgroups linux.kernel
Subject [PATCH 40/54] md/raid10: Use kcalloc() in two functions
Date Thu, 06 Oct 2016 11:50:02 +0200
Message-ID <spdto-6Li-33@gated-at.bofh.it> (permalink)
References <qEuGl-43C-5@gated-at.bofh.it> <spcH0-6dt-53@gated-at.bofh.it>
X-Original-To linux-raid@vger.kernel.org, Christoph Hellwig <hch@lst.de>, Guoqing Jiang <gqjiang@suse.com>, Jens Axboe <axboe@fb.com>, Mike Christie <mchristi@redhat.com>, Neil Brown <neilb@suse.com>, Shaohua Li <shli@kernel.org>, Tomasz Majchrzak <tomasz.majchrzak@intel.com>
User-Agent Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0
MIME-Version 1.0
Content-Type text/plain; charset=utf-8
Content-Transfer-Encoding 7bit
X-Provags-ID V03:K0:q7Y1f1C+y5lcEVD3635fpaSXPc8ZdBPIdZ/wS1FhTOpSEIQIgVr AKvzzn49aJYvoidN+D03RgV5pPhiAmdZgOC4IK6PedQWmUNl9lZH1HXJus8c8YKH+S8oznp ID9iEiizz9MtAzIdmatsz6RslKLLmHS2BqnqTVrx6LNkGoFQE5J9MhzYN6g6lsA58oJcAbr YrnsCciJhSJOMjnLc8g6A==
X-Ui-Out-Filterresults notjunk:1;V01:K0:JlUriZN3vps=:/fwChF4nBjoSUyjz+Thl1T owEPctQm4nFXWzH//Z2RDVEvZ1zwvcZphyStyL+Aru0GFmXbWyAYYSkz5TUvsmI4eMaxABLBR pm6spknYoZ6JuH2lF7vJZIXDSYPk4ewqRqmoQ+WpQtzuH5+u2Ct+gybNCb5GO+aKuxZWjOWeV LxBuprCbUvM6rNQdj/2eYgWIK2v+ru3NwBXJapNtVJIlOVnTtX73+0jtdFvb+B0PpByHQfP1K vi554pXW0FXmDboRoN9AcfT51oN3a4yyimTu9Tlc1+/0XubXXp3SpZyRDMG5TgmtonW3hWFWj 1wkUwbMIdsVIAVn4w3h/V0Kbx/3wKPBOCVJ0LeJdnJxyY4XN+GnHmZHyM53GcMvPfcyWhUEV4 Xebq1/6WHwMLhIkVbXoGh+lfCWIYZMQ7juDMyL7y3Y2LEJN/lJM+MZWudmveWwY5JBYOdQtID YWH8A97uMNPU9Gb8nJg8eN3gShT5UzKVt8CcYR1NSAPVhwmqw+3rGo+SzS7b3qztaZ7dnaPyv 5/DDr+VmO45gRDZ/9+MxJe5Md2zQMykA6gSoM9B1XTiFkuS+tQtIFKIzgxDp1LKi+umLePZcd JvMJ7aGWHPtuK+2wDJcdyJWI+K1JvtKhjf/mZ5EuBwpiUzio9DXxMhkKwS6vqyP19jPHeKkd3 1fh3d+c66jJ7XdzJuWooxEnWGZB9yYwNoIgGhxO30QFTIgQ2t2uxjsCTL4aTX8dRtbLLzkIlk n/y6BGs+8SC5/y/dibJ+e5PVE4caKEqdj2b8mMgzcbYd1f3ivEJfwUHBBipBdB9p+a2E/7IoP URU+xbS
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 51
Organization linux.* mail to news gateway
X-Original-Cc LKML <linux-kernel@vger.kernel.org>, kernel-janitors@vger.kernel.org, Julia Lawall <julia.lawall@lip6.fr>
X-Original-Date Thu, 6 Oct 2016 11:40:01 +0200
X-Original-Message-ID <4c7682bf-fef4-a9a2-9205-e47fc030b683@users.sourceforge.net>
X-Original-References <566ABCD9.1060404@users.sourceforge.net> <786843ef-4b6f-eb04-7326-2f6f5b408826@users.sourceforge.net>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref csiph.com linux.kernel:1496538

Show key headers only | View raw


From: Markus Elfring <elfring@users.sourceforge.net>
Date: Wed, 5 Oct 2016 16:45:05 +0200

* Multiplications for the size determination of memory allocations
  indicated that array data structures should be processed.
  Thus use the corresponding function "kcalloc".

  This issue was detected by using the Coccinelle software.

* Replace the specification of data structures by pointer dereferences
  to make the corresponding size determination a bit safer according to
  the Linux coding style convention.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
---
 drivers/md/raid10.c | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c
index be1a9fc..17352a9 100644
--- a/drivers/md/raid10.c
+++ b/drivers/md/raid10.c
@@ -3504,8 +3504,8 @@ static struct r10conf *setup_conf(struct mddev *mddev)
 		goto out;
 
 	/* FIXME calc properly */
-	conf->mirrors = kzalloc(sizeof(struct raid10_info)*(mddev->raid_disks +
-							    max(0,-mddev->delta_disks)),
+	conf->mirrors = kcalloc(mddev->raid_disks + max(0, -mddev->delta_disks),
+				sizeof(*conf->mirrors),
 				GFP_KERNEL);
 	if (!conf->mirrors)
 		goto out;
@@ -3936,11 +3936,10 @@ static int raid10_check_reshape(struct mddev *mddev)
 	conf->mirrors_new = NULL;
 	if (mddev->delta_disks > 0) {
 		/* allocate new 'mirrors' list */
-		conf->mirrors_new = kzalloc(
-			sizeof(struct raid10_info)
-			*(mddev->raid_disks +
-			  mddev->delta_disks),
-			GFP_KERNEL);
+		conf->mirrors_new = kcalloc(mddev->raid_disks
+					    + mddev->delta_disks,
+					    sizeof(*conf->mirrors_new),
+					    GFP_KERNEL);
 		if (!conf->mirrors_new)
 			return -ENOMEM;
 	}
-- 
2.10.1

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


Thread

MD-RAID: Fine-tuning for several function implementations SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 11:40 +0200
  [PATCH 33/54] md/raid5: Replace printk() calls by the usage of higher  level interfaces SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 11:40 +0200
  [PATCH 34/54] md/raid5: Delete indentation for two jump labels SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 11:40 +0200
  [PATCH 35/54] md/raid5: Adjust 13 checks for null pointers SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 11:40 +0200
  [PATCH 36/54] md/raid5: Delete four unwanted spaces behind function  names SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 11:40 +0200
  [PATCH 43/54] md/raid10: Return directly after detection of  unsupported settings in setup_conf() SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 11:50 +0200
  [PATCH 42/54] md/raid10: Delete an error message for a failed memory  allocation SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 11:50 +0200
  [PATCH 46/54] md/raid10: Less function calls in setup_conf() after  error detection SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 11:50 +0200
  [PATCH 47/54] md/raid10: Improve another size determination in  raid10_start_reshape() SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 11:50 +0200
  [PATCH 48/54] md/raid10: Move a brace for a designated initialiser SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 11:50 +0200
  [PATCH 41/54] md/raid10: Improve another size determination in  setup_conf() SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 11:50 +0200
  [PATCH 45/54] md/raid10: Move assignments for the variable "err" in  setup_conf() SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 11:50 +0200
  [PATCH 39/54] md/raid5: Add some spaces for better code readability SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 11:50 +0200
  [PATCH 44/54] md/raid10: Return directly after a failed kzalloc() in  setup_conf() SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 11:50 +0200
  [PATCH 49/54] md/raid10: Replace printk() calls by the usage of  higher level interfaces SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 11:50 +0200
    Re: [PATCH 49/54] md/raid10: Replace printk() calls by the usage of  higher level interfaces Joe Perches <coupons@perches.com> - 2016-10-06 18:40 +0200
      Re: [PATCH 49/54] md/raid10: Replace printk() calls by the usage of  higher level interfaces SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 19:30 +0200
        Re: [PATCH 49/54] md/raid10: Replace printk() calls by the usage of  higher level interfaces Joe Perches <joe@perches.com> - 2016-10-06 19:40 +0200
          Re: md/raid10: Replace printk() calls by the usage of higher level  interfaces SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 20:10 +0200
            Re: md/raid10: Replace printk() calls by the usage of higher level  interfaces Joe Perches <joe@perches.com> - 2016-10-06 20:20 +0200
              Re: md/raid10: Replace printk() calls by the usage of higher level  interfaces SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 20:40 +0200
  [PATCH 40/54] md/raid10: Use kcalloc() in two functions SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 11:50 +0200
  [PATCH 53/54] md/raid10: Delete two unwanted spaces behind asterisks SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 12:00 +0200
  [PATCH 52/54] md/raid10: Replace a seq_printf() call by seq_puts() in  raid10_status() SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 12:00 +0200
  [PATCH 50/54] md/raid10: Delete indentation for one jump label SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 12:00 +0200
  [PATCH 54/54] md/raid10: Add some spaces for better code readability SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 12:00 +0200
  [PATCH 51/54] md/raid10: Adjust 22 checks for null pointers SF Markus Elfring <elfring@users.sourceforge.net> - 2016-10-06 12:00 +0200

csiph-web