rem: if (m->m_len <= len) {
add: if ((int) m->m_len <= len) {
context: void m_adj(struct mbuf *mp, int req_len){	struct mbuf *m;	int len = req_len, count = 0;	if ((m = mp) == NULL)		return;	if (len >= 0) {		/* trim from the head */		while (m!= NULL && len > 0) {			if (m->m_len <= len) {				/* this whole mbuf isn't enough... */				len -= m->m_len;				m->m_len = 0;				m = m->m_next;			} else {				/* this mbuf just needs trimming */				m->m_len -= len;				m->m_data += len;				len = 0;			}		}		m = mp;		if (mp->m_flags & M_PKTHDR)			m->m_pkthdr.len -= (req_len - len);	} else {		/* trim from tail... */		len = -len;		count = 0;		for (;;) {			count += m->m_len;			if (m->m_next == NULL)				break;			m = m->m_next;		}		if (m->m_len >= len) {			m->m_len -= len;			if (mp->m_flags & M_PKTHDR)				mp->m_pkthdr.len -= len;			return;		}		count -= len;		if (count < 0)			count = 0;		/* The correct length for the chain is now "count".		 * find the last mbuf, adjust it's length and toss		 * remaining mbufs...		 */		m = mp; /* first mbuf */		if (m->m_flags & M_PKTHDR)			m->m_pkthdr.len = count;		for (; m; m= m->m_next) {			if (m->m_len >= count) {				m->m_len = count;				break;			}			count -= m->m_len;		}		while (m->m_next)			(m = m->m_next)->m_len = 0;	}}