Cave in and remove NULL checks for M_WAITOK mallocs. DragonFly's M_WAITOK
authorMatthew Dillon <dillon@dragonflybsd.org>
Wed, 17 Nov 2004 18:59:21 +0000 (18:59 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Wed, 17 Nov 2004 18:59:21 +0000 (18:59 +0000)
malloc will panic rather then return NULL, unless M_NULLOK is also specified,
so we don't actually have to check for NULL most of the time.

Submitted-by: Andrew Atrens <atrens@nortelnetworks.com>
sys/emulation/ndis/kern_ndis.c
sys/emulation/ndis/subr_ndis.c
sys/emulation/ndis/subr_ntoskrnl.c

index 5389239..11476da 100644 (file)
@@ -30,7 +30,7 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/compat/ndis/kern_ndis.c,v 1.57 2004/07/11 00:19:30 wpaul Exp $
- * $DragonFly: src/sys/emulation/ndis/kern_ndis.c,v 1.4 2004/09/20 06:32:41 dillon Exp $
+ * $DragonFly: src/sys/emulation/ndis/kern_ndis.c,v 1.5 2004/11/17 18:59:21 dillon Exp $
  */
 
 #include <sys/param.h>
@@ -258,10 +258,6 @@ ndis_create_kthreads()
 
        for (i = 0; i < ndis_jobs; i++) {
                r = malloc(sizeof(struct ndis_req), M_DEVBUF, M_WAITOK);
-               if (r == NULL) {
-                       error = ENOMEM;
-                       break;
-               }
                STAILQ_INSERT_HEAD(&ndis_free, r, link);
        }
 
@@ -370,8 +366,6 @@ ndis_enlarge_thrqueue(cnt)
 
        for (i = 0; i < cnt; i++) {
                r = malloc(sizeof(struct ndis_req), M_DEVBUF, M_WAITOK);
-               if (r == NULL)
-                       return(ENOMEM);
                lwkt_gettoken(&tokref, &ndis_thr_token);
                STAILQ_INSERT_HEAD(&ndis_free, r, link);
                ndis_jobs++;
@@ -1083,8 +1077,6 @@ ndis_get_supported_oids(arg, oids, oidcnt)
        ndis_get_info(arg, OID_GEN_SUPPORTED_LIST, NULL, &len);
 
        o = malloc(len, M_DEVBUF, M_WAITOK);
-       if (o == NULL)
-               return(ENOMEM);
 
        rval = ndis_get_info(arg, OID_GEN_SUPPORTED_LIST, o, &len);
 
@@ -1241,9 +1233,6 @@ ndis_init_dma(arg)
        sc->ndis_tmaps = malloc(sizeof(bus_dmamap_t) * sc->ndis_maxpkts,
            M_DEVBUF, M_WAITOK|M_ZERO);
 
-       if (sc->ndis_tmaps == NULL)
-               return(ENOMEM);
-
        for (i = 0; i < sc->ndis_maxpkts; i++) {
                error = bus_dmamap_create(sc->ndis_ttag, 0,
                    &sc->ndis_tmaps[i]);
index bdb22d2..9c4df71 100644 (file)
@@ -30,7 +30,7 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/compat/ndis/subr_ndis.c,v 1.62 2004/07/11 00:19:30 wpaul Exp $
- * $DragonFly: src/sys/emulation/ndis/subr_ndis.c,v 1.7 2004/11/17 18:27:17 dillon Exp $
+ * $DragonFly: src/sys/emulation/ndis/subr_ndis.c,v 1.8 2004/11/17 18:59:21 dillon Exp $
  */
 
 /*
@@ -322,9 +322,6 @@ ndis_ascii_to_unicode(ascii, unicode)
 
        if (*unicode == NULL)
                *unicode = malloc(strlen(ascii) * 2, M_DEVBUF, M_WAITOK);
-
-       if (*unicode == NULL)
-               return(ENOMEM);
        ustr = *unicode;
        for (i = 0; i < strlen(ascii); i++) {
                *ustr = (uint16_t)ascii[i];
@@ -345,8 +342,6 @@ ndis_unicode_to_ascii(unicode, ulen, ascii)
 
        if (*ascii == NULL)
                *ascii = malloc((ulen / 2) + 1, M_DEVBUF, M_WAITOK|M_ZERO);
-       if (*ascii == NULL)
-               return(ENOMEM);
        astr = *ascii;
        for (i = 0; i < ulen / 2; i++) {
                *astr = (uint8_t)unicode[i];
@@ -1560,12 +1555,6 @@ ndis_alloc_packetpool(status, pool, descnum, protrsvdlen)
        *pool = malloc(sizeof(ndis_packet) *
            ((descnum + NDIS_POOL_EXTRA) + 1),
            M_DEVBUF, M_WAITOK|M_ZERO);
-
-       if (*pool == NULL) {
-               *status = NDIS_STATUS_RESOURCES;
-               return;
-       }
-
        cur = (ndis_packet *)*pool;
        cur->np_private.npp_flags = 0x1; /* mark the head of the list */
        cur->np_private.npp_totlen = 0; /* init deletetion flag */
@@ -1783,12 +1772,6 @@ ndis_alloc_bufpool(status, pool, descnum)
        *pool = malloc(sizeof(ndis_buffer) *
            ((descnum + NDIS_POOL_EXTRA) + 1),
            M_DEVBUF, M_WAITOK|M_ZERO);
-
-       if (*pool == NULL) {
-               *status = NDIS_STATUS_RESOURCES;
-               return;
-       }
-
        cur = (ndis_buffer *)*pool;
        cur->nb_flags = 0x1; /* mark the head of the list */
        cur->nb_bytecount = 0; /* init usage count */
@@ -2066,8 +2049,6 @@ ndis_ansi2unicode(dstr, sstr)
        if (dstr == NULL || sstr == NULL)
                return(NDIS_STATUS_FAILURE);
        str = malloc(sstr->nas_len + 1, M_DEVBUF, M_WAITOK);
-       if (str == NULL)
-               return(NDIS_STATUS_FAILURE);
        strncpy(str, sstr->nas_buf, sstr->nas_len);
        *(str + sstr->nas_len) = '\0';
        if (ndis_ascii_to_unicode(str, &dstr->nus_buf)) {
@@ -2558,10 +2539,6 @@ ndis_open_file(status, filehandle, filelength, filename, highestaddr)
        free(afilename, M_DEVBUF);
 
        fh = malloc(sizeof(ndis_fh), M_TEMP, M_WAITOK);
-       if (fh == NULL) {
-               *status = NDIS_STATUS_RESOURCES;
-               return;
-       }
 
        error = nlookup_init(&nd, path, UIO_SYSSPACE, NLC_FOLLOW|NLC_LOCKVP);
        if (error == 0)
@@ -2620,11 +2597,6 @@ ndis_map_file(status, mappedbuffer, filehandle)
 
        fh->nf_map = malloc(fh->nf_maplen, M_DEVBUF, M_WAITOK);
 
-       if (fh->nf_map == NULL) {
-               *status = NDIS_STATUS_RESOURCES;
-               return;
-       }
-
        error = vn_rdwr(UIO_READ, fh->nf_vp, fh->nf_map, fh->nf_maplen, 0,
            UIO_SYSSPACE, 0, proc0.p_ucred, &resid, td);
 
index 9fd0808..0682c2c 100644 (file)
@@ -30,7 +30,7 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  *
  * $FreeBSD: src/sys/compat/ndis/subr_ntoskrnl.c,v 1.40 2004/07/20 20:28:57 wpaul Exp $
- * $DragonFly: src/sys/emulation/ndis/subr_ntoskrnl.c,v 1.4 2004/09/20 06:32:41 dillon Exp $
+ * $DragonFly: src/sys/emulation/ndis/subr_ntoskrnl.c,v 1.5 2004/11/17 18:59:21 dillon Exp $
  */
 
 #include <sys/ctype.h>
@@ -1466,8 +1466,6 @@ ntoskrnl_objref(handle, reqaccess, otype, accessmode, object, handleinfo)
        nt_objref               *nr;
 
        nr = malloc(sizeof(nt_objref), M_DEVBUF, M_WAITOK|M_ZERO);
-       if (nr == NULL)
-               return(NDIS_STATUS_FAILURE);
 
        INIT_LIST_HEAD((&nr->no_dh.dh_waitlisthead));
        nr->no_obj = handle;
@@ -1538,8 +1536,6 @@ ntoskrnl_create_thread(handle, reqaccess, objattrs, phandle,
        thread_t                td;
 
        tc = malloc(sizeof(thread_context), M_TEMP, M_WAITOK);
-       if (tc == NULL)
-               return(NDIS_STATUS_FAILURE);
 
        tc->tc_thrctx = thrctx;
        tc->tc_thrfunc = thrfunc;