NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

PR/45975 CVS commit: src/sys/uvm



The following reply was made to PR port-xen/45975; it has been noted by GNATS.

From: "Manuel Bouyer" <bouyer%netbsd.org@localhost>
To: gnats-bugs%gnats.NetBSD.org@localhost
Cc: 
Subject: PR/45975 CVS commit: src/sys/uvm
Date: Mon, 20 Feb 2012 19:14:24 +0000

 Module Name:   src
 Committed By:  bouyer
 Date:          Mon Feb 20 19:14:24 UTC 2012
 
 Modified Files:
        src/sys/uvm: uvm_km.c uvm_kmguard.c uvm_map.c
 
 Log Message:
 When using uvm_km_pgremove_intrsafe() make sure mappings are removed
 before returning the pages to the free pool. Otherwise, under Xen,
 a page which still has a writable mapping could be allocated for
 a PDP by another CPU and the hypervisor would refuse it (this is
 PR port-xen/45975).
 For this, move the pmap_kremove() calls inside uvm_km_pgremove_intrsafe(),
 and do pmap_kremove()/uvm_pagefree() in batch of (at most) 16 entries
 (as suggested by Chuck Silvers on tech-kern@, see also
 http://mail-index.netbsd.org/tech-kern/2012/02/17/msg012727.html and
 followups).
 
 
 To generate a diff of this commit:
 cvs rdiff -u -r1.121 -r1.122 src/sys/uvm/uvm_km.c
 cvs rdiff -u -r1.9 -r1.10 src/sys/uvm/uvm_kmguard.c
 cvs rdiff -u -r1.314 -r1.315 src/sys/uvm/uvm_map.c
 
 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.
 


Home | Main Index | Thread Index | Old Index