Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys when dropping M_PKTHDR, need to free m_tag associated wi...
details: https://anonhg.NetBSD.org/src/rev/efef6b90b21c
branches: trunk
changeset: 552816:efef6b90b21c
user: itojun <itojun%NetBSD.org@localhost>
date: Fri Oct 03 20:56:11 2003 +0000
description:
when dropping M_PKTHDR, need to free m_tag associated with it.
diffstat:
sys/kern/uipc_mbuf.c | 7 +++++--
sys/net/if_ieee1394subr.c | 5 +++--
sys/netinet/ip_output.c | 7 ++++---
sys/netinet6/ip6_output.c | 5 +++--
sys/netinet6/ipsec.c | 6 ++++--
5 files changed, 19 insertions(+), 11 deletions(-)
diffs (161 lines):
diff -r 2b7f8cba948e -r efef6b90b21c sys/kern/uipc_mbuf.c
--- a/sys/kern/uipc_mbuf.c Fri Oct 03 19:55:34 2003 +0000
+++ b/sys/kern/uipc_mbuf.c Fri Oct 03 20:56:11 2003 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: uipc_mbuf.c,v 1.73 2003/09/07 12:04:13 yamt Exp $ */
+/* $NetBSD: uipc_mbuf.c,v 1.74 2003/10/03 20:56:11 itojun Exp $ */
/*-
* Copyright (c) 1999, 2001 The NetBSD Foundation, Inc.
@@ -69,7 +69,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: uipc_mbuf.c,v 1.73 2003/09/07 12:04:13 yamt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uipc_mbuf.c,v 1.74 2003/10/03 20:56:11 itojun Exp $");
#include "opt_mbuftrace.h"
@@ -422,6 +422,7 @@
}
if (m->m_flags & M_PKTHDR) {
M_COPY_PKTHDR(mn, m);
+ m_tag_delete_chain(m, NULL);
m->m_flags &= ~M_PKTHDR;
} else {
MCLAIM(mn, m->m_owner);
@@ -765,6 +766,7 @@
m->m_len = 0;
if (n->m_flags & M_PKTHDR) {
M_COPY_PKTHDR(m, n);
+ m_tag_delete_chain(n, NULL);
n->m_flags &= ~M_PKTHDR;
}
}
@@ -816,6 +818,7 @@
m->m_len = 0;
if (n->m_flags & M_PKTHDR) {
M_COPY_PKTHDR(m, n);
+ m_tag_delete_chain(m, NULL);
n->m_flags &= ~M_PKTHDR;
}
m->m_data += dstoff;
diff -r 2b7f8cba948e -r efef6b90b21c sys/net/if_ieee1394subr.c
--- a/sys/net/if_ieee1394subr.c Fri Oct 03 19:55:34 2003 +0000
+++ b/sys/net/if_ieee1394subr.c Fri Oct 03 20:56:11 2003 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: if_ieee1394subr.c,v 1.23 2003/05/23 10:06:18 itojun Exp $ */
+/* $NetBSD: if_ieee1394subr.c,v 1.24 2003/10/03 20:56:11 itojun Exp $ */
/*
* Copyright (c) 2000 The NetBSD Foundation, Inc.
@@ -37,7 +37,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_ieee1394subr.c,v 1.23 2003/05/23 10:06:18 itojun Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_ieee1394subr.c,v 1.24 2003/10/03 20:56:11 itojun Exp $");
#include "opt_inet.h"
#include "bpfilter.h"
@@ -441,6 +441,7 @@
dgl = ifh->ifh_dgl;
len = m0->m_pkthdr.len;
if (ftype & IEEE1394_FT_SUBSEQ) {
+ m_tag_delete_chain(m0, NULL);
m0->m_flags &= ~M_PKTHDR;
off = ntohs(ifh->ifh_etype_off);
} else
diff -r 2b7f8cba948e -r efef6b90b21c sys/netinet/ip_output.c
--- a/sys/netinet/ip_output.c Fri Oct 03 19:55:34 2003 +0000
+++ b/sys/netinet/ip_output.c Fri Oct 03 20:56:11 2003 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: ip_output.c,v 1.122 2003/10/01 23:54:40 itojun Exp $ */
+/* $NetBSD: ip_output.c,v 1.123 2003/10/03 20:56:11 itojun Exp $ */
/*
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -98,7 +98,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ip_output.c,v 1.122 2003/10/01 23:54:40 itojun Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ip_output.c,v 1.123 2003/10/03 20:56:11 itojun Exp $");
#include "opt_pfil_hooks.h"
#include "opt_ipsec.h"
@@ -1029,12 +1029,13 @@
return (m); /* XXX should fail */
if (!in_nullhost(p->ipopt_dst))
ip->ip_dst = p->ipopt_dst;
- if (m->m_flags & M_EXT || m->m_data - optlen < m->m_pktdat) {
+ if (M_READONLY(m) || M_LEADINGSPACE(m) < optlen) {
MGETHDR(n, M_DONTWAIT, MT_HEADER);
if (n == 0)
return (m);
MCLAIM(n, m->m_owner);
M_COPY_PKTHDR(n, m);
+ m_tag_delete_chain(m, NULL);
m->m_flags &= ~M_PKTHDR;
m->m_len -= sizeof(struct ip);
m->m_data += sizeof(struct ip);
diff -r 2b7f8cba948e -r efef6b90b21c sys/netinet6/ip6_output.c
--- a/sys/netinet6/ip6_output.c Fri Oct 03 19:55:34 2003 +0000
+++ b/sys/netinet6/ip6_output.c Fri Oct 03 20:56:11 2003 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: ip6_output.c,v 1.70 2003/09/06 03:36:33 itojun Exp $ */
+/* $NetBSD: ip6_output.c,v 1.71 2003/10/03 20:56:11 itojun Exp $ */
/* $KAME: ip6_output.c,v 1.172 2001/03/25 09:55:56 itojun Exp $ */
/*
@@ -62,7 +62,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ip6_output.c,v 1.70 2003/09/06 03:36:33 itojun Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ip6_output.c,v 1.71 2003/10/03 20:56:11 itojun Exp $");
#include "opt_inet.h"
#include "opt_ipsec.h"
@@ -2270,6 +2270,7 @@
}
M_COPY_PKTHDR(mh, m);
MH_ALIGN(mh, sizeof(*ip6));
+ m_tag_delete_chain(m, NULL);
m->m_flags &= ~M_PKTHDR;
m->m_len -= sizeof(*ip6);
m->m_data += sizeof(*ip6);
diff -r 2b7f8cba948e -r efef6b90b21c sys/netinet6/ipsec.c
--- a/sys/netinet6/ipsec.c Fri Oct 03 19:55:34 2003 +0000
+++ b/sys/netinet6/ipsec.c Fri Oct 03 20:56:11 2003 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: ipsec.c,v 1.85 2003/10/03 08:46:15 itojun Exp $ */
+/* $NetBSD: ipsec.c,v 1.86 2003/10/03 20:56:11 itojun Exp $ */
/* $KAME: ipsec.c,v 1.136 2002/05/19 00:36:39 itojun Exp $ */
/*
@@ -35,7 +35,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ipsec.c,v 1.85 2003/10/03 08:46:15 itojun Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ipsec.c,v 1.86 2003/10/03 20:56:11 itojun Exp $");
#include "opt_inet.h"
#include "opt_ipsec.h"
@@ -3175,6 +3175,7 @@
}
M_COPY_PKTHDR(mh, m);
MH_ALIGN(mh, hlen);
+ m_tag_delete_chain(m, NULL);
m->m_flags &= ~M_PKTHDR;
m->m_len -= hlen;
m->m_data += hlen;
@@ -3212,6 +3213,7 @@
}
M_COPY_PKTHDR(mh, m);
MH_ALIGN(mh, hlen);
+ m_tag_delete_chain(m, NULL);
m->m_flags &= ~M_PKTHDR;
m->m_len -= hlen;
m->m_data += hlen;
Home |
Main Index |
Thread Index |
Old Index