diff options
Diffstat (limited to 'sys/kern/uipc_mbuf.c')
-rw-r--r-- | sys/kern/uipc_mbuf.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/sys/kern/uipc_mbuf.c b/sys/kern/uipc_mbuf.c index 3a4fb4c..4161ac8 100644 --- a/sys/kern/uipc_mbuf.c +++ b/sys/kern/uipc_mbuf.c @@ -496,8 +496,13 @@ m_prepend(struct mbuf *m, int len, int how) M_MOVE_PKTHDR(mn, m); mn->m_next = m; m = mn; - if (len < MHLEN) - MH_ALIGN(m, len); + if(m->m_flags & M_PKTHDR) { + if (len < MHLEN) + MH_ALIGN(m, len); + } else { + if (len < MLEN) + M_ALIGN(m, len); + } m->m_len = len; return (m); } |