svn commit: r209964 - head/sys/kern releng/7.1 releng/7.1/sys/conf releng/7.1/sys/kern releng/7.3 releng/7.3/sys/conf releng/7.3/sys/kern releng/8.0 releng/8.0/sys/conf releng/8.0/sys/kern releng/8...

Colin Percival cperciva at FreeBSD.org
Tue Jul 13 02:45:20 UTC 2010


Author: cperciva
Date: Tue Jul 13 02:45:17 2010
New Revision: 209964
URL: http://svn.freebsd.org/changeset/base/209964

Log:
  Correctly copy the M_RDONLY flag when duplicating a reference
  to an mbuf external buffer.
  
  Approved by:	so (cperciva)
  Approved by:	re (kensmith)
  Security:	FreeBSD-SA-10:07.mbuf

Modified:
  releng/7.1/UPDATING
  releng/7.1/sys/conf/newvers.sh
  releng/7.1/sys/kern/uipc_mbuf.c
  releng/7.3/UPDATING
  releng/7.3/sys/conf/newvers.sh
  releng/7.3/sys/kern/uipc_mbuf.c
  releng/8.0/UPDATING
  releng/8.0/sys/conf/newvers.sh
  releng/8.0/sys/kern/uipc_mbuf.c
  releng/8.1/UPDATING
  releng/8.1/sys/kern/uipc_mbuf.c

Changes in other areas also in this revision:
Modified:
  head/sys/kern/uipc_mbuf.c
  stable/7/sys/kern/uipc_mbuf.c
  stable/8/sys/kern/uipc_mbuf.c

Modified: releng/7.1/UPDATING
==============================================================================
--- releng/7.1/UPDATING	Tue Jul 13 01:24:02 2010	(r209963)
+++ releng/7.1/UPDATING	Tue Jul 13 02:45:17 2010	(r209964)
@@ -8,6 +8,10 @@ Items affecting the ports and packages s
 /usr/ports/UPDATING.  Please read that file before running
 portupgrade.
 
+20100713:	p13	FreeBSD-SA-10:07.mbuf
+	Correctly copy the M_RDONLY flag when duplicating a reference
+	to an mbuf external buffer.
+
 20100526:	p12	FreeBSD-SA-10:05.opie
 	Fix a one-NUL-byte buffer overflow in libopie. [10:05]
 

Modified: releng/7.1/sys/conf/newvers.sh
==============================================================================
--- releng/7.1/sys/conf/newvers.sh	Tue Jul 13 01:24:02 2010	(r209963)
+++ releng/7.1/sys/conf/newvers.sh	Tue Jul 13 02:45:17 2010	(r209964)
@@ -32,7 +32,7 @@
 
 TYPE="FreeBSD"
 REVISION="7.1"
-BRANCH="RELEASE-p12"
+BRANCH="RELEASE-p13"
 if [ "X${BRANCH_OVERRIDE}" != "X" ]; then
 	BRANCH=${BRANCH_OVERRIDE}
 fi

Modified: releng/7.1/sys/kern/uipc_mbuf.c
==============================================================================
--- releng/7.1/sys/kern/uipc_mbuf.c	Tue Jul 13 01:24:02 2010	(r209963)
+++ releng/7.1/sys/kern/uipc_mbuf.c	Tue Jul 13 02:45:17 2010	(r209964)
@@ -301,6 +301,7 @@ mb_dupcl(struct mbuf *n, struct mbuf *m)
 	n->m_ext.ref_cnt = m->m_ext.ref_cnt;
 	n->m_ext.ext_type = m->m_ext.ext_type;
 	n->m_flags |= M_EXT;
+	n->m_flags |= m->m_flags & M_RDONLY;
 }
 
 /*

Modified: releng/7.3/UPDATING
==============================================================================
--- releng/7.3/UPDATING	Tue Jul 13 01:24:02 2010	(r209963)
+++ releng/7.3/UPDATING	Tue Jul 13 02:45:17 2010	(r209964)
@@ -8,6 +8,10 @@ Items affecting the ports and packages s
 /usr/ports/UPDATING.  Please read that file before running
 portupgrade.
 
+20100713:	p2	FreeBSD-SA-10:07.mbuf
+	Correctly copy the M_RDONLY flag when duplicating a reference
+	to an mbuf external buffer.
+
 20100526:	p1	FreeBSD-SA-10:05.opie, FreeBSD-SA-10:06.nfsclient
 	Fix a one-NUL-byte buffer overflow in libopie. [10:05]
 

Modified: releng/7.3/sys/conf/newvers.sh
==============================================================================
--- releng/7.3/sys/conf/newvers.sh	Tue Jul 13 01:24:02 2010	(r209963)
+++ releng/7.3/sys/conf/newvers.sh	Tue Jul 13 02:45:17 2010	(r209964)
@@ -32,7 +32,7 @@
 
 TYPE="FreeBSD"
 REVISION="7.3"
-BRANCH="RELEASE-p1"
+BRANCH="RELEASE-p2"
 if [ "X${BRANCH_OVERRIDE}" != "X" ]; then
 	BRANCH=${BRANCH_OVERRIDE}
 fi

Modified: releng/7.3/sys/kern/uipc_mbuf.c
==============================================================================
--- releng/7.3/sys/kern/uipc_mbuf.c	Tue Jul 13 01:24:02 2010	(r209963)
+++ releng/7.3/sys/kern/uipc_mbuf.c	Tue Jul 13 02:45:17 2010	(r209964)
@@ -301,6 +301,7 @@ mb_dupcl(struct mbuf *n, struct mbuf *m)
 	n->m_ext.ref_cnt = m->m_ext.ref_cnt;
 	n->m_ext.ext_type = m->m_ext.ext_type;
 	n->m_flags |= M_EXT;
+	n->m_flags |= m->m_flags & M_RDONLY;
 }
 
 /*

Modified: releng/8.0/UPDATING
==============================================================================
--- releng/8.0/UPDATING	Tue Jul 13 01:24:02 2010	(r209963)
+++ releng/8.0/UPDATING	Tue Jul 13 02:45:17 2010	(r209964)
@@ -15,6 +15,10 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 8.
 	debugging tools present in HEAD were left in place because
 	sun4v support still needs work to become production ready.
 
+20100713:	p4	FreeBSD-SA-10:07.mbuf
+	Correctly copy the M_RDONLY flag when duplicating a reference
+	to an mbuf external buffer.
+
 20100526:	p3	FreeBSD-SA-10:04.jail, FreeBSD-SA-10:05.opie,
 			FreeBSD-SA-10:06.nfsclient
 	Change the current working directory to be inside the jail created by

Modified: releng/8.0/sys/conf/newvers.sh
==============================================================================
--- releng/8.0/sys/conf/newvers.sh	Tue Jul 13 01:24:02 2010	(r209963)
+++ releng/8.0/sys/conf/newvers.sh	Tue Jul 13 02:45:17 2010	(r209964)
@@ -32,7 +32,7 @@
 
 TYPE="FreeBSD"
 REVISION="8.0"
-BRANCH="RELEASE-p3"
+BRANCH="RELEASE-p4"
 if [ "X${BRANCH_OVERRIDE}" != "X" ]; then
 	BRANCH=${BRANCH_OVERRIDE}
 fi

Modified: releng/8.0/sys/kern/uipc_mbuf.c
==============================================================================
--- releng/8.0/sys/kern/uipc_mbuf.c	Tue Jul 13 01:24:02 2010	(r209963)
+++ releng/8.0/sys/kern/uipc_mbuf.c	Tue Jul 13 02:45:17 2010	(r209964)
@@ -302,6 +302,7 @@ mb_dupcl(struct mbuf *n, struct mbuf *m)
 	n->m_ext.ref_cnt = m->m_ext.ref_cnt;
 	n->m_ext.ext_type = m->m_ext.ext_type;
 	n->m_flags |= M_EXT;
+	n->m_flags |= m->m_flags & M_RDONLY;
 }
 
 /*

Modified: releng/8.1/UPDATING
==============================================================================
--- releng/8.1/UPDATING	Tue Jul 13 01:24:02 2010	(r209963)
+++ releng/8.1/UPDATING	Tue Jul 13 02:45:17 2010	(r209964)
@@ -15,6 +15,10 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 8.
 	debugging tools present in HEAD were left in place because
 	sun4v support still needs work to become production ready.
 
+20100713:		FreeBSD-SA-10:07.mbuf
+	Correctly copy the M_RDONLY flag when duplicating a reference
+	to an mbuf external buffer.
+
 20100502:
 	The config(8) command has been updated to maintain compatibility
 	with config files from 8.0-RELEASE.  You will need a new version

Modified: releng/8.1/sys/kern/uipc_mbuf.c
==============================================================================
--- releng/8.1/sys/kern/uipc_mbuf.c	Tue Jul 13 01:24:02 2010	(r209963)
+++ releng/8.1/sys/kern/uipc_mbuf.c	Tue Jul 13 02:45:17 2010	(r209964)
@@ -302,6 +302,7 @@ mb_dupcl(struct mbuf *n, struct mbuf *m)
 	n->m_ext.ref_cnt = m->m_ext.ref_cnt;
 	n->m_ext.ext_type = m->m_ext.ext_type;
 	n->m_flags |= M_EXT;
+	n->m_flags |= m->m_flags & M_RDONLY;
 }
 
 /*


More information about the svn-src-all mailing list