FreeBSD/sys/dev/cxgb/ulp/tom/cxgb_listen.c
/*
 * Use the trailing space in the mbuf in which the PASS_ACCEPT_REQ arrived to
 * store some state temporarily.  There will be enough room in the mbuf's
 * trailing space as the CPL is not that large.
 *
 * XXX: bad hack.
 */
Use the trailing space in the mbuf in which the PASS_ACCEPT_REQ arrived to
store some state temporarily.  There will be enough room in the mbuf's
trailing space as the CPL is not that large.

bad hack.
Use the trailing space in the mbuf in which the PASS_ACCEPT_REQ arrived to store some state temporarily . There will be enough room in the mbuf ' s trailing space as the CPL is not that large . bad hack .
static struct synq_entry *
mbuf_to_synq_entry(struct mbuf *m)
{
	int len = roundup(sizeof (struct synq_entry), 8);
	if (__predict_false(M_TRAILINGSPACE(m) < len)) {
	    panic("%s: no room for synq_entry (%td, %d)\n", __func__,
	    M_TRAILINGSPACE(m), len);
	}
	return ((void *)(M_START(m) + M_SIZE(m) - len));
}
static struct synq_entry * mbuf_to_synq_entry ( struct mbuf * m ) { int len = roundup ( sizeof ( struct synq_entry ) , 8 ) ; if ( __predict_false ( M_TRAILINGSPACE ( m ) < len ) ) { panic ( " \n " , __func__ , M_TRAILINGSPACE ( m ) , len ) ; } return ( ( void * ) ( M_START ( m ) + M_SIZE ( m ) - len ) ) ; }
Use the trailing space in the mbuf in which the PASS_ACCEPT_REQ arrived to
 store some state temporarily.
Use the trailing space in the mbuf in which the PASS_ACCEPT_REQ arrived to store some state temporarily .