DF-0660 / fix.diff
diff --git a/sys/netgraph/ng_device.c b/sys/netgraph/ng_device.c --- a/sys/netgraph/ng_device.c +++ b/sys/netgraph/ng_device.c @@ -360,12 +360,6 @@ return(-1); } - buffer = kmalloc(sizeof(char)*m->m_len, M_DEVBUF, M_NOWAIT | M_ZERO); - if(buffer == NULL) { - kprintf("%s(): ERROR: buffer malloc failed\n", __func__); - return(-1); - } - buffer = mtod(m, char *); if( (connection->loc+m->m_len) < NGD_QUEUE_SIZE) { @@ -374,7 +368,7 @@ } else kprintf("%s(): queue full, first read out a bit\n", __func__); - kfree(buffer, M_DEVBUF); + m_freem(m); return(0); } |