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;
        }
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to