Subject: Re:
To:, Jun-ichiro itojun Hagino <>
From: Guenther Grau <>
List: tech-net
Date: 03/02/2000 14:22:25

>Module Name:    syssrc
>Committed By:   itojun
>Date:           Wed Mar  1 12:49:54 UTC 2000
>Modified Files:
>        syssrc/sys/kern: uipc_mbuf.c uipc_mbuf2.c
>        syssrc/sys/netinet: igmp.c in_gif.c ip_fil.c ip_icmp.c ip_input.c
>            ip_ipip.c ip_mroute.c ip_output.c raw_ip.c tcp_input.c tcp_output.c
>            tcp_subr.c udp_usrreq.c
>        syssrc/sys/netinet6: icmp6.c in6_gif.c ip6_output.c ipsec.c ipsec.h
>            mld6.c nd6_nbr.c raw_ip6.c udp6_usrreq.c
>        syssrc/sys/netiso: if_eon.c tp_inet.c
>        syssrc/sys/netns: ns_ip.c
>        syssrc/sys/sys: mbuf.h
>Log Message:
>introduce m->m_pkthdr.aux to hold random data which needs to be passed
>between protocol handlers.
>take caution if you use it for keeping some data item for long period
>of time - use extra caution on M_PREPEND() or m_adj(), as they may result
>in loss of m->m_pkthdr.aux pointer (and mbuf leak).

What does this mean: take caution if you use it for a long
period? What is a long period? What happens if I someone
doesn't follow this advice?
And in which case does use of m_adj/M_PREPEND 
result in loss of said pointer?