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-committ...@freebsd.org> on behalf of "Pedro F. Giffuni" 
<p...@freebsd.org>
Date: 2018-01-15, Monday at 13:13
To: <src-committ...@freebsd.org>, <svn-src-...@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) {





_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to