From owner-svn-src-all@freebsd.org Sat Jan 20 11:19:36 2018 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D97FAECA930; Sat, 20 Jan 2018 11:19:36 +0000 (UTC) (envelope-from wschnr@googlemail.com) Received: from mail-yw0-x231.google.com (mail-yw0-x231.google.com [IPv6:2607:f8b0:4002:c05::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 9A269747B1; Sat, 20 Jan 2018 11:19:36 +0000 (UTC) (envelope-from wschnr@googlemail.com) Received: by mail-yw0-x231.google.com with SMTP id x62so1606802ywg.11; Sat, 20 Jan 2018 03:19:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=Sv5B4CSqdCwhD84l5HrJuF72c7PBHSlK8cDsuKc/qCo=; b=rii0KbMSNHAM8oru0v7HVNXF1/MWnd9Fklj6m2osZei4vstnyQ/uW6MBEn41bCQGrs W9e/C9G4fPB8DGhQAJK4tZBnQPw6ZhwKJKSlAXBTsBiazk5/YbKF4TWM2myIEFB9RjIx GPMZ2CUWOzhzVrcisjHknJiow3ObhH1fv0pMlBbBVP6Zdd0nubLD8l3NwNsH/0MvdohX k+PyHM66f8LjD4pg0FCvWi5Oj19kD9TqumnzBqB4arM0mbLmHHyg2LP9yY+HUT8fd1et ai6TeWzlqg5HzWQzM+/ZnqF1j5qbeH5KRqsw8T1bZaupewDd63HE2Tg4pg7qMCDBbkX/ TMMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=Sv5B4CSqdCwhD84l5HrJuF72c7PBHSlK8cDsuKc/qCo=; b=XYuv0eoyOO+ht9147CFE47TuWjftRthWelcLgNNpg23AbkRxD1iukt82sY/Gohhvpo lC11MJPu7iHQ7PQT2TKzSRIKSy4ho6ZsGtpf1KoOYqT1AZmZIjQ0dKPS2ymKmjeW4OJM d+/vvVeqWWZgGuum4gY4vI7C/FRr2ekAl/gOA9tVWj4hJkfWynaQKc0VLJObPxCc+TOk 6gl3DgR/xUfD0e4vTm4XAmnE6VAlGwwI5zd+9EIt+7odfiE2DqOpiKJaUw/byi9gzHlw 6wA7R6ze7w15x2R5qlHP0ycaeM3ACcmZRT6qC6Ur8eAx2VlREa9sZW9oaHGSlqb6llbq DTgA== X-Gm-Message-State: AKwxytcyX0VIb/0QDrET02TImCQbkO350DcoU7c+NR8wMiV1dV7IqLqf xx57tGauvWOFO8A6pZfhnwUqyywVtBeNg0X2LdKQig== X-Google-Smtp-Source: AH8x226kJybbSiW6EN7OhrtiPr0BAWC87nj83hu05upewWkEIIp5iFGEGSAat6+22v0wyepBrhtO71Wkblxbecqhsks= X-Received: by 10.129.67.31 with SMTP id q31mr1396813ywa.464.1516447175560; Sat, 20 Jan 2018 03:19:35 -0800 (PST) MIME-Version: 1.0 Sender: wschnr@googlemail.com Received: by 10.37.77.87 with HTTP; Sat, 20 Jan 2018 03:19:20 -0800 (PST) In-Reply-To: <201801140017.w0E0HKS3049183@slippy.cwsent.com> References: <201801132230.w0DMUVmF081985@repo.freebsd.org> <201801140017.w0E0HKS3049183@slippy.cwsent.com> From: Wolfram Schneider Date: Sat, 20 Jan 2018 12:19:20 +0100 X-Google-Sender-Auth: q5fsAyk3gKOKYA50BAoe8CkPvV4 Message-ID: Subject: Re: svn commit: r327949 - in head/sys/dev: aacraid advansys ath beri/virtio bnxt bwn ciss cxgbe/crypto esp fb gpio if_ndis iwi kbd liquidio liquidio/base mpr mps mpt mrsas mxge netmap nvme pst ral rp s... To: Cy Schubert Cc: "Pedro F. Giffuni" , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Type: text/plain; charset="UTF-8" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 20 Jan 2018 11:19:37 -0000 On 14 January 2018 at 01:17, Cy Schubert wrote: > In message <201801132230.w0DMUVmF081985@repo.freebsd.org>, "Pedro F. > Giffuni" w > rites: >> Author: pfg >> Date: Sat Jan 13 22:30:30 2018 >> New Revision: 327949 >> URL: https://svnweb.freebsd.org/changeset/base/327949 >> >> Log: >> dev: make some use of mallocarray(9). >> >> Focus on code where we are doing multiplications within malloc(9). None of >> these is 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. >> >> Modified: >> head/sys/dev/aacraid/aacraid.c >> head/sys/dev/advansys/advansys.c >> head/sys/dev/ath/if_ath_rx_edma.c >> head/sys/dev/beri/virtio/virtio.c >> head/sys/dev/bnxt/if_bnxt.c >> head/sys/dev/bwn/if_bwn.c >> head/sys/dev/bwn/if_bwn_phy_lp.c >> head/sys/dev/ciss/ciss.c >> head/sys/dev/cxgbe/crypto/t4_crypto.c >> head/sys/dev/esp/ncr53c9x.c >> head/sys/dev/fb/splash.c >> head/sys/dev/gpio/gpiobus.c >> head/sys/dev/if_ndis/if_ndis.c >> head/sys/dev/iwi/if_iwi.c >> head/sys/dev/kbd/kbd.c >> head/sys/dev/liquidio/base/lio_request_manager.c >> head/sys/dev/liquidio/lio_main.c >> head/sys/dev/mpr/mpr.c >> head/sys/dev/mpr/mpr_mapping.c >> head/sys/dev/mps/mps.c >> head/sys/dev/mps/mps_mapping.c >> head/sys/dev/mpt/mpt_cam.c >> head/sys/dev/mrsas/mrsas.c >> head/sys/dev/mxge/if_mxge.c >> head/sys/dev/netmap/if_ptnet.c >> head/sys/dev/nvme/nvme_ns.c >> head/sys/dev/pst/pst-iop.c >> head/sys/dev/ral/rt2560.c >> head/sys/dev/ral/rt2661.c >> head/sys/dev/rp/rp.c >> head/sys/dev/rp/rp_isa.c >> head/sys/dev/rp/rp_pci.c >> head/sys/dev/sound/midi/midi.c >> head/sys/dev/sound/pci/hda/hdaa.c >> head/sys/dev/syscons/fire/fire_saver.c >> head/sys/dev/virtio/console/virtio_console.c >> head/sys/dev/virtio/mmio/virtio_mmio.c >> head/sys/dev/virtio/network/if_vtnet.c >> head/sys/dev/virtio/pci/virtio_pci.c >> head/sys/dev/vmware/vmxnet3/if_vmx.c >> head/sys/dev/vnic/nicvf_queues.c >> head/sys/dev/xen/blkback/blkback.c >> head/sys/dev/xen/blkfront/blkfront.c >> > > >> Modified: head/sys/dev/mxge/if_mxge.c >> ============================================================================= >> = >> --- head/sys/dev/mxge/if_mxge.c Sat Jan 13 21:39:46 2018 (r32794 >> 8) >> +++ head/sys/dev/mxge/if_mxge.c Sat Jan 13 22:30:30 2018 (r32794 >> 9) >> @@ -688,7 +688,7 @@ z_alloc(void *nil, u_int items, u_int size) >> { >> void *ptr; >> >> - ptr = malloc(items * size, M_TEMP, M_NOWAIT); >> + ptr = mallocarray(items, size, M_TEMP, M_NOWAIT); >> return ptr; >> } >> >> @@ -4390,8 +4390,8 @@ mxge_alloc_slices(mxge_softc_t *sc) >> sc->rx_ring_size = cmd.data0; >> max_intr_slots = 2 * (sc->rx_ring_size / sizeof (mcp_dma_addr_t)); >> >> - bytes = sizeof (*sc->ss) * sc->num_slices; > > Hi Pedro, > > This broke the build. it also crashed my machine due out of swap space, see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=225197 -Wolfram >> - sc->ss = malloc(bytes, M_DEVBUF, M_NOWAIT | M_ZERO); >> + sc->ss = mallocarray(sc->num_slices, sizeof(*sc->ss), M_DEVBUF, >> + M_NOWAIT | M_ZERO); >> if (sc->ss == NULL) >> return (ENOMEM); >> for (i = 0; i < sc->num_slices; i++) { >> @@ -4563,8 +4563,8 @@ mxge_add_msix_irqs(mxge_softc_t *sc) >> err = ENOSPC; >> goto abort_with_msix; >> } >> - bytes = sizeof (*sc->msix_irq_res) * sc->num_slices; >> - sc->msix_irq_res = malloc(bytes, M_DEVBUF, M_NOWAIT|M_ZERO); >> + sc->msix_irq_res = mallocarray(sc->num_slices, >> + sizeof(*sc->msix_irq_res), M_DEVBUF, M_NOWAIT|M_ZERO); >> if (sc->msix_irq_res == NULL) { >> err = ENOMEM; >> goto abort_with_msix; >> @@ -4583,8 +4583,8 @@ mxge_add_msix_irqs(mxge_softc_t *sc) >> } >> } >> >> - bytes = sizeof (*sc->msix_ih) * sc->num_slices; > > ===> mxge/mxge_rss_ethp_z8e (all) > --- all_subdir_mxge/mxge --- > /opt/src/svn-current/sys/dev/mxge/if_mxge.c:4538:9: error: unused variable > 'bytes' [-Werror,-Wunused-variable] > size_t bytes; > ^ > 1 error generated. > *** [if_mxge.o] Error code 1 > >> - sc->msix_ih = malloc(bytes, M_DEVBUF, M_NOWAIT|M_ZERO); >> + sc->msix_ih = mallocarray(sc->num_slices, sizeof(*sc->msix_ih), >> + M_DEVBUF, M_NOWAIT|M_ZERO); >> >> for (i = 0; i < sc->num_slices; i++) { >> err = bus_setup_intr(sc->dev, sc->msix_irq_res[i], >> > > > > -- > Cheers, > Cy Schubert > FreeBSD UNIX: Web: http://www.FreeBSD.org > > The need of the many outweighs the greed of the few. > > > -- Wolfram Schneider https://wolfram.schneider.org