em driver issues

Joerg Sonnenberger joerg at britannica.bec.de
Thu Feb 3 17:17:25 PST 2005


On Thu, Feb 03, 2005 at 08:04:27PM -0500, EM1897 at xxxxxxx wrote:
> m_clalloc()

                mcl = malloc(sizeof(*mcl), M_MBUFCL, M_NOWAIT|M_NULLOK|M_ZERO);
                if (mcl == NULL && how == MB_WAIT) {
                        mbstat.m_wait++;
                        mcl = malloc(sizeof(*mcl),
                                        M_MBUFCL, M_WAITOK|M_NULLOK|M_ZERO);
                }
. ..
                if (data == NULL) {
                        free(mcl, M_MBUFCL);
                        break;
                }  

This is the culprot. We have to check for mcl == NULL before the free
as the bare minum. Matt, shouldn't we either block or return if the
allocation for mcl fails?

Joerg





More information about the Users mailing list