Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 15 Jan 2018 21:15:25 +0000 (UTC)
From:      "Pedro F. Giffuni" <pfg@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r328022 - in head/sys/cam: . ctl
Message-ID:  <201801152115.w0FLFPLp065949@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: pfg
Date: Mon Jan 15 21:15:25 2018
New Revision: 328022
URL: https://svnweb.freebsd.org/changeset/base/328022

Log:
  cam: make some use of mallocarray(9).
  
  Focus on code where we are doing multiplications within malloc(9). None of
  these ire likely to overflow, however the change is still useful as some
  static checkers can benefit from the allocation attributes we use for
  mallocarray.
  
  This initial sweep only covers malloc(9) calls with M_NOWAIT. No good
  reason but I started doing the changes before r327796 and at that time it
  was convenient to make sure the sorrounding code could handle NULL values.
  
  X-Differential revision: https://reviews.freebsd.org/D13837

Modified:
  head/sys/cam/cam_queue.c
  head/sys/cam/ctl/ctl_frontend.c

Modified: head/sys/cam/cam_queue.c
==============================================================================
--- head/sys/cam/cam_queue.c	Mon Jan 15 21:14:56 2018	(r328021)
+++ head/sys/cam/cam_queue.c	Mon Jan 15 21:15:25 2018	(r328022)
@@ -126,7 +126,7 @@ camq_resize(struct camq *queue, int new_size)
 	KASSERT(new_size >= queue->entries, ("camq_resize: "
 	    "New queue size can't accommodate queued entries (%d < %d).",
 	    new_size, queue->entries));
-	new_array = (cam_pinfo **)malloc(new_size * sizeof(cam_pinfo *),
+	new_array = (cam_pinfo **)mallocarray(new_size, sizeof(cam_pinfo *),
 					 M_CAMQ, M_NOWAIT);
 	if (new_array == NULL) {
 		/* Couldn't satisfy request */

Modified: head/sys/cam/ctl/ctl_frontend.c
==============================================================================
--- head/sys/cam/ctl/ctl_frontend.c	Mon Jan 15 21:14:56 2018	(r328021)
+++ head/sys/cam/ctl/ctl_frontend.c	Mon Jan 15 21:15:25 2018	(r328022)
@@ -172,8 +172,8 @@ ctl_port_register(struct ctl_port *port)
 	 * Initialize the initiator and portname mappings
 	 */
 	port->max_initiators = CTL_MAX_INIT_PER_PORT;
-	port->wwpn_iid = malloc(sizeof(*port->wwpn_iid) * port->max_initiators,
-	    M_CTL, M_NOWAIT | M_ZERO);
+	port->wwpn_iid = mallocarray(port->max_initiators,
+	    sizeof(*port->wwpn_iid), M_CTL, M_NOWAIT | M_ZERO);
 	if (port->wwpn_iid == NULL) {
 		retval = ENOMEM;
 		goto error;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201801152115.w0FLFPLp065949>