sprinkle malloc array in the kern directory.

Index: exec_subr.c
===================================================================
RCS file: /cvs/src/sys/kern/exec_subr.c,v
retrieving revision 1.36
diff -u -p -r1.36 exec_subr.c
--- exec_subr.c 12 Jul 2014 18:43:32 -0000      1.36
+++ exec_subr.c 13 Jul 2014 15:13:59 -0000
@@ -91,7 +91,7 @@ vmcmdset_extend(struct exec_vmcmd_set *e
        evsp->evs_cnt += ocnt;
 
        /* reallocate the command set */
-       nvcp = malloc(evsp->evs_cnt * sizeof(struct exec_vmcmd), M_EXEC,
+       nvcp = mallocarray(evsp->evs_cnt, sizeof(struct exec_vmcmd), M_EXEC,
            M_WAITOK);
        bcopy(evsp->evs_cmds, nvcp, (ocnt * sizeof(struct exec_vmcmd)));
        if (evsp->evs_cmds != evsp->evs_start)
Index: kern_descrip.c
===================================================================
RCS file: /cvs/src/sys/kern/kern_descrip.c,v
retrieving revision 1.111
diff -u -p -r1.111 kern_descrip.c
--- kern_descrip.c      12 Jul 2014 18:43:32 -0000      1.111
+++ kern_descrip.c      13 Jul 2014 15:14:00 -0000
@@ -765,7 +765,7 @@ fdexpand(struct proc *p)
        else
                nfiles = 2 * fdp->fd_nfiles;
 
-       newofile = malloc(nfiles * OFILESIZE, M_FILEDESC, M_WAITOK);
+       newofile = mallocarray(nfiles, OFILESIZE, M_FILEDESC, M_WAITOK);
        newofileflags = (char *) &newofile[nfiles];
 
        /*
@@ -784,9 +784,9 @@ fdexpand(struct proc *p)
                free(fdp->fd_ofiles, M_FILEDESC, 0);
 
        if (NDHISLOTS(nfiles) > NDHISLOTS(fdp->fd_nfiles)) {
-               newhimap = malloc(NDHISLOTS(nfiles) * sizeof(u_int),
+               newhimap = mallocarray(NDHISLOTS(nfiles), sizeof(u_int),
                    M_FILEDESC, M_WAITOK);
-               newlomap = malloc(NDLOSLOTS(nfiles) * sizeof(u_int),
+               newlomap = mallocarray(NDLOSLOTS(nfiles), sizeof(u_int),
                    M_FILEDESC, M_WAITOK);
 
                copylen = NDHISLOTS(fdp->fd_nfiles) * sizeof(u_int);
@@ -939,7 +939,7 @@ fdcopy(struct process *pr)
                i = newfdp->fd_nfiles;
                while (i >= 2 * NDEXTENT && i > newfdp->fd_lastfile * 2)
                        i /= 2;
-               newfdp->fd_ofiles = malloc(i * OFILESIZE, M_FILEDESC, M_WAITOK);
+               newfdp->fd_ofiles = mallocarray(i, OFILESIZE, M_FILEDESC, 
M_WAITOK);
                newfdp->fd_ofileflags = (char *) &newfdp->fd_ofiles[i];
        }
        if (NDHISLOTS(i) <= NDHISLOTS(NDFILE)) {
@@ -948,9 +948,9 @@ fdcopy(struct process *pr)
                newfdp->fd_lomap =
                        ((struct filedesc0 *) newfdp)->fd_dlomap;
        } else {
-               newfdp->fd_himap = malloc(NDHISLOTS(i) * sizeof(u_int),
+               newfdp->fd_himap = mallocarray(NDHISLOTS(i), sizeof(u_int),
                    M_FILEDESC, M_WAITOK);
-               newfdp->fd_lomap = malloc(NDLOSLOTS(i) * sizeof(u_int),
+               newfdp->fd_lomap = mallocarray(NDLOSLOTS(i), sizeof(u_int),
                    M_FILEDESC, M_WAITOK);
        }
        newfdp->fd_nfiles = i;
Index: kern_subr.c
===================================================================
RCS file: /cvs/src/sys/kern/kern_subr.c,v
retrieving revision 1.38
diff -u -p -r1.38 kern_subr.c
--- kern_subr.c 12 Jul 2014 18:43:32 -0000      1.38
+++ kern_subr.c 13 Jul 2014 15:14:00 -0000
@@ -166,7 +166,7 @@ hashinit(int elements, int type, int fla
                panic("hashinit: bad cnt");
        for (hashsize = 1; hashsize < elements; hashsize <<= 1)
                continue;
-       hashtbl = malloc(hashsize * sizeof(*hashtbl), type, flags);
+       hashtbl = mallocarray(hashsize, sizeof(*hashtbl), type, flags);
        if (hashtbl == NULL)
                return NULL;
        for (i = 0; i < hashsize; i++)
Index: kern_sysctl.c
===================================================================
RCS file: /cvs/src/sys/kern/kern_sysctl.c,v
retrieving revision 1.256
diff -u -p -r1.256 kern_sysctl.c
--- kern_sysctl.c       12 Jul 2014 18:43:32 -0000      1.256
+++ kern_sysctl.c       13 Jul 2014 15:14:00 -0000
@@ -1854,7 +1854,7 @@ sysctl_diskinit(int update, struct proc 
                        free(diskstats, M_SYSCTL, 0);
                diskstats = NULL;
                disknames = NULL;
-               diskstats = malloc(disk_count * sizeof(struct diskstats),
+               diskstats = mallocarray(disk_count, sizeof(struct diskstats),
                    M_SYSCTL, M_WAITOK);
                disknames = malloc(tlen, M_SYSCTL, M_WAITOK);
                disknames[0] = '\0';
Index: subr_autoconf.c
===================================================================
RCS file: /cvs/src/sys/kern/subr_autoconf.c,v
retrieving revision 1.77
diff -u -p -r1.77 subr_autoconf.c
--- subr_autoconf.c     12 Jul 2014 18:43:32 -0000      1.77
+++ subr_autoconf.c     13 Jul 2014 15:14:00 -0000
@@ -462,7 +462,7 @@ config_make_softc(struct device *parent,
                while (new <= dev->dv_unit)
                        new *= 2;
                cd->cd_ndevs = new;
-               nsp = malloc(new * sizeof(void *), M_DEVBUF, M_NOWAIT|M_ZERO);
+               nsp = mallocarray(new, sizeof(void *), M_DEVBUF, 
M_NOWAIT|M_ZERO);
                if (nsp == NULL)
                        panic("config_make_softc: %sing dev array",
                            old != 0 ? "expand" : "creat");
Index: subr_userconf.c
===================================================================
RCS file: /cvs/src/sys/kern/subr_userconf.c,v
retrieving revision 1.40
diff -u -p -r1.40 subr_userconf.c
--- subr_userconf.c     12 Jul 2014 18:43:32 -0000      1.40
+++ subr_userconf.c     13 Jul 2014 15:14:00 -0000
@@ -485,7 +485,7 @@ userconf_change(int devno)
                        if (share) {
                                for (i = 0; locnamp[ln+i] != -1 ; i++)
                                        ;
-                               lk = l = (int *)malloc(sizeof(int) * i,
+                               lk = l = mallocarray(i, sizeof(int),
                                    M_TEMP, M_NOWAIT);
                                if (lk == NULL) {
                                        printf("out of memory.\n");
Index: sys_generic.c
===================================================================
RCS file: /cvs/src/sys/kern/sys_generic.c,v
retrieving revision 1.90
diff -u -p -r1.90 sys_generic.c
--- sys_generic.c       12 Jul 2014 21:21:19 -0000      1.90
+++ sys_generic.c       13 Jul 2014 15:14:00 -0000
@@ -616,7 +616,7 @@ dopselect(struct proc *p, int nd, fd_set
        if (ni > sizeof(bits[0])) {
                caddr_t mbits;
 
-               mbits = malloc(ni * 6, M_TEMP, M_WAITOK|M_ZERO);
+               mbits = mallocarray(6, ni, M_TEMP, M_WAITOK|M_ZERO);
                pibits[0] = (fd_set *)&mbits[ni * 0];
                pibits[1] = (fd_set *)&mbits[ni * 1];
                pibits[2] = (fd_set *)&mbits[ni * 2];
Index: sysv_sem.c
===================================================================
RCS file: /cvs/src/sys/kern/sysv_sem.c,v
retrieving revision 1.48
diff -u -p -r1.48 sysv_sem.c
--- sysv_sem.c  13 Jul 2014 15:00:40 -0000      1.48
+++ sysv_sem.c  13 Jul 2014 15:14:00 -0000
@@ -66,9 +66,9 @@ seminit(void)
            &pool_allocator_nointr);
        pool_init(&semu_pool, SEMUSZ, 0, 0, 0, "semupl",
            &pool_allocator_nointr);
-       sema = malloc(seminfo.semmni * sizeof(struct semid_ds *),
+       sema = mallocarray(seminfo.semmni, sizeof(struct semid_ds *),
            M_SEM, M_WAITOK|M_ZERO);
-       semseqs = malloc(seminfo.semmni * sizeof(unsigned short),
+       semseqs = mallocarray(seminfo.semmni, sizeof(unsigned short),
            M_SEM, M_WAITOK|M_ZERO);
        SLIST_INIT(&semu_list);
 }
@@ -360,7 +360,7 @@ semctl1(struct proc *p, int semid, int s
        case SETALL:
                if ((error = ipcperm(cred, &semaptr->sem_perm, IPC_W)))
                        return (error);
-               semval = malloc(semaptr->sem_nsems * sizeof(arg->array[0]),
+               semval = mallocarray(semaptr->sem_nsems, sizeof(arg->array[0]),
                    M_TEMP, M_WAITOK);
                for (i = 0; i < semaptr->sem_nsems; i++) {
                        error = ds_copyin(&arg->array[i], &semval[i],
@@ -424,7 +424,7 @@ sys_semget(struct proc *p, void *v, regi
                        return (ENOSPC);
                }
                semaptr_new = pool_get(&sema_pool, PR_WAITOK);
-               semaptr_new->sem_base = malloc(nsems * sizeof(struct sem),
+               semaptr_new->sem_base = mallocarray(nsems, sizeof(struct sem),
                    M_SEM, M_WAITOK|M_ZERO);
        }
 
@@ -547,7 +547,7 @@ sys_semop(struct proc *p, void *v, regis
        if (nsops <= NSOPS)
                sops = sopbuf;
        else
-               sops = malloc(nsops * sizeof(struct sembuf), M_SEM, M_WAITOK);
+               sops = mallocarray(nsops, sizeof(struct sembuf), M_SEM, 
M_WAITOK);
        error = copyin(SCARG(uap, sops), sops, nsops * sizeof(struct sembuf));
        if (error != 0) {
                DPRINTF(("error = %d from copyin(%p, %p, %u)\n", error,
@@ -875,11 +875,11 @@ sysctl_sysvsem(int *name, u_int namelen,
                        return (EINVAL);
 
                /* Expand semsegs and semseqs arrays */
-               sema_new = malloc(val * sizeof(struct semid_ds *),
+               sema_new = mallocarray(val, sizeof(struct semid_ds *),
                    M_SEM, M_WAITOK|M_ZERO);
                bcopy(sema, sema_new,
                    seminfo.semmni * sizeof(struct semid_ds *));
-               newseqs = malloc(val * sizeof(unsigned short), M_SEM,
+               newseqs = mallocarray(val, sizeof(unsigned short), M_SEM,
                    M_WAITOK|M_ZERO);
                bcopy(semseqs, newseqs,
                    seminfo.semmni * sizeof(unsigned short));
Index: sysv_shm.c
===================================================================
RCS file: /cvs/src/sys/kern/sysv_shm.c,v
retrieving revision 1.57
diff -u -p -r1.57 sysv_shm.c
--- sysv_shm.c  12 Jul 2014 18:43:32 -0000      1.57
+++ sysv_shm.c  13 Jul 2014 15:14:00 -0000
@@ -592,13 +592,13 @@ sysctl_sysvshm(int *name, u_int namelen,
                        return (EINVAL);
 
                /* Expand shmsegs and shmseqs arrays */
-               newsegs = malloc(val * sizeof(struct shmid_ds *),
+               newsegs = mallocarray(val, sizeof(struct shmid_ds *),
                    M_SHM, M_WAITOK|M_ZERO);
                bcopy(shmsegs, newsegs,
                    shminfo.shmmni * sizeof(struct shmid_ds *));
                free(shmsegs, M_SHM, 0);
                shmsegs = newsegs;
-               newseqs = malloc(val * sizeof(unsigned short), M_SHM,
+               newseqs = mallocarray(val, sizeof(unsigned short), M_SHM,
                    M_WAITOK|M_ZERO);
                bcopy(shmseqs, newseqs,
                    shminfo.shmmni * sizeof(unsigned short));
Index: tty.c
===================================================================
RCS file: /cvs/src/sys/kern/tty.c,v
retrieving revision 1.111
diff -u -p -r1.111 tty.c
--- tty.c       12 Jul 2014 18:43:32 -0000      1.111
+++ tty.c       13 Jul 2014 15:14:00 -0000
@@ -2367,7 +2367,7 @@ ttystats_init(struct itty **ttystats)
        struct itty *itp;
        struct tty *tp;
 
-       *ttystats = malloc(tty_count * sizeof(struct itty),
+       *ttystats = mallocarray(tty_count, sizeof(struct itty),
            M_SYSCTL, M_WAITOK|M_ZERO);
        for (tp = TAILQ_FIRST(&ttylist), itp = *ttystats; tp;
            tp = TAILQ_NEXT(tp, tty_link), itp++) {
Index: tty_pty.c
===================================================================
RCS file: /cvs/src/sys/kern/tty_pty.c,v
retrieving revision 1.67
diff -u -p -r1.67 tty_pty.c
--- tty_pty.c   12 Jul 2014 18:43:32 -0000      1.67
+++ tty_pty.c   13 Jul 2014 15:14:00 -0000
@@ -150,7 +150,7 @@ ptyarralloc(int nelem)
 {
        struct pt_softc **pt;
 
-       pt = malloc(nelem * sizeof(struct pt_softc *), M_DEVBUF,
+       pt = mallocarray(nelem, sizeof(struct pt_softc *), M_DEVBUF,
            M_WAITOK|M_ZERO);
        return pt;
 }
Index: uipc_usrreq.c
===================================================================
RCS file: /cvs/src/sys/kern/uipc_usrreq.c,v
retrieving revision 1.74
diff -u -p -r1.74 uipc_usrreq.c
--- uipc_usrreq.c       12 Jul 2014 18:43:32 -0000      1.74
+++ uipc_usrreq.c       13 Jul 2014 15:14:01 -0000
@@ -670,7 +670,7 @@ unp_externalize(struct mbuf *rights, soc
 
        rp = (struct file **)CMSG_DATA(cm);
 
-       fdp = malloc(nfds * sizeof(int), M_TEMP, M_WAITOK);
+       fdp = mallocarray(nfds, sizeof(int), M_TEMP, M_WAITOK);
 
        /* Make sure the recipient should be able to see the descriptors.. */
        if (p->p_fd->fd_rdir != NULL) {
@@ -961,7 +961,7 @@ unp_gc(void)
         *
         * 91/09/19, b...@cs.cmu.edu
         */
-       extra_ref = malloc(nfiles * sizeof(struct file *), M_FILE, M_WAITOK);
+       extra_ref = mallocarray(nfiles, sizeof(struct file *), M_FILE, 
M_WAITOK);
        for (nunref = 0, fp = LIST_FIRST(&filehead), fpp = extra_ref;
            fp != NULL; fp = nextfp) {
                nextfp = LIST_NEXT(fp, f_list);
Index: vfs_bio.c
===================================================================
RCS file: /cvs/src/sys/kern/vfs_bio.c,v
retrieving revision 1.158
diff -u -p -r1.158 vfs_bio.c
--- vfs_bio.c   12 Jul 2014 18:43:32 -0000      1.158
+++ vfs_bio.c   13 Jul 2014 15:14:01 -0000
@@ -441,7 +441,7 @@ bread_cluster(struct vnode *vp, daddr_t 
        if (howmany > maxra)
                howmany = maxra;
 
-       xbpp = malloc((howmany + 1) * sizeof(struct buf *), M_TEMP, M_NOWAIT);
+       xbpp = mallocarray((howmany + 1), sizeof(struct buf *), M_TEMP, 
M_NOWAIT);
        if (xbpp == NULL)
                goto out;
 

Reply via email to