diff options
| author | Alexander Motin <mav@FreeBSD.org> | 2010-03-31 20:37:44 +0000 |
|---|---|---|
| committer | Alexander Motin <mav@FreeBSD.org> | 2010-03-31 20:37:44 +0000 |
| commit | d6b013b5372c387ef6803a633ce7d0120fbaaf3a (patch) | |
| tree | aa066062e6f32671bf17cf4d1beeaeee492b49c0 /sys/netgraph | |
| parent | 883e8983aa89256d1477472f919b987771cb656f (diff) | |
Notes
Diffstat (limited to 'sys/netgraph')
| -rw-r--r-- | sys/netgraph/ng_ppp.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/sys/netgraph/ng_ppp.c b/sys/netgraph/ng_ppp.c index b2b0cb0a4466..ec3ed82ea7f8 100644 --- a/sys/netgraph/ng_ppp.c +++ b/sys/netgraph/ng_ppp.c @@ -907,7 +907,21 @@ ng_ppp_proto_recv(node_p node, item_p item, uint16_t proto, uint16_t linkNum) const priv_p priv = NG_NODE_PRIVATE(node); hook_p outHook = NULL; int error; +#ifdef ALIGNED_POINTER + struct mbuf *m, *n; + NGI_GET_M(item, m); + if (!ALIGNED_POINTER(mtod(m, caddr_t), uint32_t)) { + n = m_defrag(m, M_NOWAIT); + if (n == NULL) { + m_freem(m); + NG_FREE_ITEM(item); + return (ENOBUFS); + } + m = n; + } + NGI_M(item) = m; +#endif /* ALIGNED_POINTER */ switch (proto) { case PROT_IP: if (priv->conf.enableIP) |
