Date: Tue, 16 Jan 2018 01:06:39 -0500 From: Pedro Giffuni <pfg@FreeBSD.org> To: Ravi Pokala <rpokala@mac.com>, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r328020 - in head/sys/mips: mips nlm/dev/sec Message-ID: <945535f7-119f-1da4-c64c-f7a7e99e467a@FreeBSD.org> In-Reply-To: <560DA44B-159E-431D-B388-4E5E8962E1CD@mac.com> References: <201801152113.w0FLDUUn065783@repo.freebsd.org> <560DA44B-159E-431D-B388-4E5E8962E1CD@mac.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Thanks for the report; On 01/16/18 00:23, Ravi Pokala wrote: > Hi Pedro, > > This change breaks many (most? all?) MIPS kernels (universe, no special config, -DNO_CLEAN): Ugh, yes .. the build was broken by another change so I didn't noticeĀ this in my builds. Sorry .. should be fixed as r328041. Pedro. > --- busdma_machdep.o --- > cc1: warnings being treated as errors > /usr/home/rpokala/freebsd/clean/base/head/sys/mips/mips/busdma_machdep.c: In function 'bus_dmamap_create': > /usr/home/rpokala/freebsd/clean/base/head/sys/mips/mips/busdma_machdep.c:539: warning: passing argument 2 of 'malloc' makes pointer from integer without a cast > /usr/home/rpokala/freebsd/clean/base/head/sys/mips/mips/busdma_machdep.c:539: warning: passing argument 3 of 'malloc' makes integer from pointer without a cast > /usr/home/rpokala/freebsd/clean/base/head/sys/mips/mips/busdma_machdep.c:539: error: too many arguments to function 'malloc' > /usr/home/rpokala/freebsd/clean/base/head/sys/mips/mips/busdma_machdep.c: In function 'bus_dmamem_alloc': > /usr/home/rpokala/freebsd/clean/base/head/sys/mips/mips/busdma_machdep.c:651: warning: passing argument 2 of 'malloc' makes pointer from integer without a cast > /usr/home/rpokala/freebsd/clean/base/head/sys/mips/mips/busdma_machdep.c:651: warning: passing argument 3 of 'malloc' makes integer from pointer without a cast > /usr/home/rpokala/freebsd/clean/base/head/sys/mips/mips/busdma_machdep.c:651: error: too many arguments to function 'malloc' > > Thanks, > > Ravi (rpokala@) > > > -----Original Message----- > From: <owner-src-committers@freebsd.org> on behalf of "Pedro F. Giffuni" <pfg@FreeBSD.org> > Date: 2018-01-15, Monday at 13:13 > To: <src-committers@freebsd.org>, <svn-src-all@freebsd.org>, <svn-src-head@freebsd.org> > Subject: svn commit: r328020 - in head/sys/mips: mips nlm/dev/sec > > Author: pfg > Date: Mon Jan 15 21:13:30 2018 > New Revision: 328020 > URL: https://svnweb.freebsd.org/changeset/base/328020 > > Log: > mips: 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/mips/mips/busdma_machdep.c > head/sys/mips/nlm/dev/sec/nlmrsa.c > > Modified: head/sys/mips/mips/busdma_machdep.c > ============================================================================== > --- head/sys/mips/mips/busdma_machdep.c Mon Jan 15 21:11:38 2018 (r328019) > +++ head/sys/mips/mips/busdma_machdep.c Mon Jan 15 21:13:30 2018 (r328020) > @@ -345,7 +345,8 @@ _busdma_alloc_dmamap(bus_dma_tag_t dmat) > struct sync_list *slist; > bus_dmamap_t map; > > - slist = malloc(sizeof(*slist) * dmat->nsegments, M_BUSDMA, M_NOWAIT); > + slist = mallocarray(dmat->nsegments, sizeof(*slist), M_BUSDMA, > + M_NOWAIT); > if (slist == NULL) > return (NULL); > map = uma_zalloc_arg(dmamap_zone, dmat, M_NOWAIT); > @@ -534,9 +535,8 @@ bus_dmamap_create(bus_dma_tag_t dmat, int flags, bus_d > int error = 0; > > if (dmat->segments == NULL) { > - dmat->segments = (bus_dma_segment_t *)malloc( > - sizeof(bus_dma_segment_t) * dmat->nsegments, M_BUSDMA, > - M_NOWAIT); > + dmat->segments = (bus_dma_segment_t *)malloc(dmat->nsegments, > + sizeof(bus_dma_segment_t), M_BUSDMA, M_NOWAIT); > if (dmat->segments == NULL) { > CTR3(KTR_BUSDMA, "%s: tag %p error %d", > __func__, dmat, ENOMEM); > @@ -647,9 +647,8 @@ bus_dmamem_alloc(bus_dma_tag_t dmat, void** vaddrp, in > else > mflags = M_WAITOK; > if (dmat->segments == NULL) { > - dmat->segments = (bus_dma_segment_t *)malloc( > - sizeof(bus_dma_segment_t) * dmat->nsegments, M_BUSDMA, > - mflags); > + dmat->segments = (bus_dma_segment_t *)malloc(dmat->nsegments, > + sizeof(bus_dma_segment_t), M_BUSDMA, mflags); > if (dmat->segments == NULL) { > CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d", > __func__, dmat, dmat->flags, ENOMEM); > > Modified: head/sys/mips/nlm/dev/sec/nlmrsa.c > ============================================================================== > --- head/sys/mips/nlm/dev/sec/nlmrsa.c Mon Jan 15 21:11:38 2018 (r328019) > +++ head/sys/mips/nlm/dev/sec/nlmrsa.c Mon Jan 15 21:13:30 2018 (r328020) > @@ -346,7 +346,7 @@ xlp_rsa_newsession(device_t dev, u_int32_t *sidp, stru > > if (ses == NULL) { > sesn = sc->sc_nsessions; > - ses = malloc((sesn + 1) * sizeof(*ses), > + ses = mallocarray(sesn + 1, sizeof(*ses), > M_DEVBUF, M_NOWAIT); > if (ses == NULL) > return (ENOMEM); > @@ -528,8 +528,9 @@ xlp_rsa_kprocess(device_t dev, struct cryptkop *krp, i > goto errout; > } > cmd->rsafn = 0; /* Mod Exp */ > - cmd->rsasrc = malloc( > - cmd->rsaopsize * (krp->krp_iparams + krp->krp_oparams), > + cmd->rsasrc = mallocarray( > + krp->krp_iparams + krp->krp_oparams, > + cmd->rsaopsize, > M_DEVBUF, > M_NOWAIT | M_ZERO); > if (cmd->rsasrc == NULL) { > > > >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?945535f7-119f-1da4-c64c-f7a7e99e467a>