DragonFly commits List (threaded) for 2010-04
git: DragonFly_RELEASE_2_6 kernel - Fix resident_count problems with kernel_pmap & related crashes
Author: Matthew Dillon <email@example.com>
Date: Thu Apr 29 19:48:58 2010 -0700
kernel - Fix resident_count problems with kernel_pmap & related crashes
* kernel_pmap.pm_stats.resident_count could get out of sync due to the
lwbuf code calling kmem_free() on KVM with pages that were entered
via pmap_kenter(). Delete the pages before calling kmem_free().
This in turn caused various failures and kernel panics due to conditionals
based on resident_count == 0. Heavy sendfile() activity could trigger
the bug but it was taking a few days for the resident_count to decrement
* Fix a similar issue in zdestroy() on ZONE_INTERRUPT zones. Nothing calls
this routine so it was not a vector for crashes.
* Document the case.
Summary of changes:
sys/cpu/i386/misc/lwbuf.c | 7 +++++++
sys/vm/vm_kern.c | 5 +++++
sys/vm/vm_zone.c | 8 ++++++++
3 files changed, 20 insertions(+), 0 deletions(-)
DragonFly BSD source repository