summaryrefslogtreecommitdiffstats
path: root/sys/sys/mbuf.h
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2005-03-06 20:09:00 +0000
committeralc <alc@FreeBSD.org>2005-03-06 20:09:00 +0000
commit2213f95a5239d5d00ef2065a8f1777b6b2084f8c (patch)
treeabe12aba3c3d16582553b14d5e9632c9ed3f93d4 /sys/sys/mbuf.h
parent4afa67d7680cea34fe67c52377dd25add391412c (diff)
downloadFreeBSD-src-2213f95a5239d5d00ef2065a8f1777b6b2084f8c.zip
FreeBSD-src-2213f95a5239d5d00ef2065a8f1777b6b2084f8c.tar.gz
The m_ext reference counts are potentially shared and modified
asynchronously by different threads. Thus, declare as volatile the reference count that is accessed through m_ext's pointer, ref_cnt. Revert the previous change, revision 1.144, that casts as volatile a single dereference of ref_cnt. Reviewed by: bmilekic, dwhite Problem reported by: kris MFC after: 3 days
Diffstat (limited to 'sys/sys/mbuf.h')
-rw-r--r--sys/sys/mbuf.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/sys/mbuf.h b/sys/sys/mbuf.h
index 1621fa7..0703916 100644
--- a/sys/sys/mbuf.h
+++ b/sys/sys/mbuf.h
@@ -122,7 +122,7 @@ struct m_ext {
(void *, void *);
void *ext_args; /* optional argument pointer */
u_int ext_size; /* size of buffer, for ext_free */
- u_int *ref_cnt; /* pointer to ref count info */
+ volatile u_int *ref_cnt; /* pointer to ref count info */
int ext_type; /* type of external storage */
};
OpenPOWER on IntegriCloud