>>+ if (mtod(m, intptr_t) & 0x3) { >>+ intptr_t i = mtod(m, intptr_t) & 0x3; >>+ bcopy(m->m_data, m->m_data - i, m->m_len); >Since the arguments overlap, that should be ovbcopy. just to be sure: there's no ovbcopy in the kernel any more. bcopy in the kernel is safe against overlap. (sys/lib/libkern/bcopy.c) itojun