Free both KVA and backing pages when freeing TSS memory.

Reported and tested by:	pho
Sponsored by:	The FreeBSD Foundation
Approved by:	re (marius)
This commit is contained in:
Konstantin Belousov 2013-09-23 20:14:15 +00:00
parent 058a4e3419
commit ad43b98491
2 changed files with 2 additions and 2 deletions

View File

@ -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;
}

View File

@ -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;
}