diff options
author | bmilekic <bmilekic@FreeBSD.org> | 2003-02-20 03:01:04 +0000 |
---|---|---|
committer | bmilekic <bmilekic@FreeBSD.org> | 2003-02-20 03:01:04 +0000 |
commit | 78e7b5f0c627b0eaddebab0af4773e0356c27b3b (patch) | |
tree | 4f0776f26488bb7b9effb0dd4ae7898885fdb480 /sys/kern/subr_mbuf.c | |
parent | eeab6579735293780ab11332990cfd7c898d7b84 (diff) | |
download | FreeBSD-src-78e7b5f0c627b0eaddebab0af4773e0356c27b3b.zip FreeBSD-src-78e7b5f0c627b0eaddebab0af4773e0356c27b3b.tar.gz |
Fix a serious bug when computing the index for the
reference counter array for mbuf clusters. I don't know
how this got past early testing nor how it survived so long
without getting caught. If anyone was seeing really really
bizarre memory corruption in a few mbufs this would be why.
Diffstat (limited to 'sys/kern/subr_mbuf.c')
-rw-r--r-- | sys/kern/subr_mbuf.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/kern/subr_mbuf.c b/sys/kern/subr_mbuf.c index 0713b7b..171ccae 100644 --- a/sys/kern/subr_mbuf.c +++ b/sys/kern/subr_mbuf.c @@ -1059,7 +1059,7 @@ mb_reclaim(void) } while (0) #define cl2ref(cl) \ - (((uintptr_t)(cl) - (uintptr_t)cl_refcntmap) >> MCLSHIFT) + (((uintptr_t)(cl) - (uintptr_t)mb_list_clust.ml_mapbase) >> MCLSHIFT) #define _mext_dealloc_ref(m) \ if ((m)->m_ext.ext_type != EXT_EXTREF) \ |