summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorandre <andre@FreeBSD.org>2005-08-30 21:14:30 +0000
committerandre <andre@FreeBSD.org>2005-08-30 21:14:30 +0000
commit6418b7b14188d66689d9d1c003b328c83f21d761 (patch)
tree1875a7e47081e91b45bbd595a24004e2486c77a5 /sys
parent010cdcf6428d9edaf7865b1d1ea858f10646d733 (diff)
downloadFreeBSD-src-6418b7b14188d66689d9d1c003b328c83f21d761.zip
FreeBSD-src-6418b7b14188d66689d9d1c003b328c83f21d761.tar.gz
Unbreak m_demote() and put back the 'all' flag. Without it we cannot
correctly test for m_nextpkt in an mbuf chain.
Diffstat (limited to 'sys')
-rw-r--r--sys/kern/uipc_mbuf.c4
-rw-r--r--sys/sys/mbuf.h2
2 files changed, 4 insertions, 2 deletions
diff --git a/sys/kern/uipc_mbuf.c b/sys/kern/uipc_mbuf.c
index 4f66fe3..dea90e7 100644
--- a/sys/kern/uipc_mbuf.c
+++ b/sys/kern/uipc_mbuf.c
@@ -271,9 +271,11 @@ mb_free_ext(struct mbuf *m)
/*
* Clean up mbuf (chain) from any tags and packet headers.
+ * If "all" is set then the first mbuf in the chain will be
+ * cleaned too.
*/
void
-m_demote(struct mbuf *m0)
+m_demote(struct mbuf *m0, int all)
{
struct mbuf *m;
diff --git a/sys/sys/mbuf.h b/sys/sys/mbuf.h
index 96de920..7696fa4 100644
--- a/sys/sys/mbuf.h
+++ b/sys/sys/mbuf.h
@@ -579,7 +579,7 @@ struct mbuf *m_copypacket(struct mbuf *, int);
void m_copy_pkthdr(struct mbuf *, struct mbuf *);
struct mbuf *m_copyup(struct mbuf *n, int len, int dstoff);
struct mbuf *m_defrag(struct mbuf *, int);
-void m_demote(struct mbuf *);
+void m_demote(struct mbuf *, int);
struct mbuf *m_devget(char *, int, int, struct ifnet *,
void (*)(char *, caddr_t, u_int));
struct mbuf *m_dup(struct mbuf *, int);
OpenPOWER on IntegriCloud