From 2fce7b68b16a49f313efe92dbb2a070ea971ae94 Mon Sep 17 00:00:00 2001 From: rwatson Date: Tue, 20 Nov 2007 18:50:54 +0000 Subject: Annotate two possible bugs in a comment: (1) we allocate and explicitly prepend a data mbuf in front of a header mbuf without moving the header to the new mbuf, and (2) a possible alignment problem on architectures with strict alignment as reported in kern/4184. PR: kern/4184 (1) --- sys/netatalk/ddp_output.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'sys/netatalk/ddp_output.c') diff --git a/sys/netatalk/ddp_output.c b/sys/netatalk/ddp_output.c index bc85fcb..9581094 100644 --- a/sys/netatalk/ddp_output.c +++ b/sys/netatalk/ddp_output.c @@ -191,6 +191,14 @@ ddp_route(struct mbuf *m, struct route *ro) * mbuf without ensuring that the mbuf pointer is aligned. This is * bad for transition routing, since phase 1 and phase 2 packets end * up poorly aligned due to the three byte elap header. + * + * XXXRW: kern/4184 suggests that an m_pullup() of (m) should take + * place here to address possible alignment issues. + * + * XXXRW: This appears not to handle M_PKTHDR properly, as it doesn't + * move the existing header from the old packet to the new one. + * Posibly should call M_MOVE_PKTHDR()? This would also allow + * removing mac_mbuf_copy(). */ if (!(aa->aa_flags & AFA_PHASE2)) { MGET(m0, M_DONTWAIT, MT_DATA); -- cgit v1.1