svn commit: r255827 - in head/sys: amd64/amd64 i386/i386

Konstantin Belousov kib at FreeBSD.org
Mon Sep 23 20:14:16 UTC 2013


Author: kib
Date: Mon Sep 23 20:14:15 2013
New Revision: 255827
URL: http://svnweb.freebsd.org/changeset/base/255827

Log:
  Free both KVA and backing pages when freeing TSS memory.
  
  Reported and tested by:	pho
  Sponsored by:	The FreeBSD Foundation
  Approved by:	re (marius)

Modified:
  head/sys/amd64/amd64/vm_machdep.c
  head/sys/i386/i386/vm_machdep.c

Modified: head/sys/amd64/amd64/vm_machdep.c
==============================================================================
--- head/sys/amd64/amd64/vm_machdep.c	Mon Sep 23 20:06:59 2013	(r255826)
+++ head/sys/amd64/amd64/vm_machdep.c	Mon Sep 23 20:14:15 2013	(r255827)
@@ -341,7 +341,7 @@ cpu_thread_clean(struct thread *td)
 	 * Clean TSS/iomap
 	 */
 	if (pcb->pcb_tssp != NULL) {
-		kva_free((vm_offset_t)pcb->pcb_tssp,
+		kmem_free(kernel_arena, (vm_offset_t)pcb->pcb_tssp,
 		    ctob(IOPAGES + 1));
 		pcb->pcb_tssp = NULL;
 	}

Modified: head/sys/i386/i386/vm_machdep.c
==============================================================================
--- head/sys/i386/i386/vm_machdep.c	Mon Sep 23 20:06:59 2013	(r255826)
+++ head/sys/i386/i386/vm_machdep.c	Mon Sep 23 20:14:15 2013	(r255827)
@@ -367,7 +367,7 @@ cpu_thread_clean(struct thread *td)
 		 * XXX do we need to move the TSS off the allocated pages
 		 * before freeing them?  (not done here)
 		 */
-		kva_free((vm_offset_t)pcb->pcb_ext,
+		kmem_free(kernel_arena, (vm_offset_t)pcb->pcb_ext,
 		    ctob(IOPAGES + 1));
 		pcb->pcb_ext = NULL;
 	}


More information about the svn-src-head mailing list