summaryrefslogtreecommitdiffstats
path: root/sys/kern/subr_pool.c
diff options
context:
space:
mode:
authorart <art@openbsd.org>2010-07-02 01:25:05 +0000
committerart <art@openbsd.org>2010-07-02 01:25:05 +0000
commit42096da3ae4c342a82999d07ee4cdfde744caa0f (patch)
treeea95543e8547ac6f46ec0a436995b369890079c0 /sys/kern/subr_pool.c
parentDrop the uvm_km_pages.mtx mutex in uvm_km_putpage before we free va's, (diff)
downloadwireguard-openbsd-42096da3ae4c342a82999d07ee4cdfde744caa0f.tar.xz
wireguard-openbsd-42096da3ae4c342a82999d07ee4cdfde744caa0f.zip
add an align argument to uvm_km_kmemalloc_pla.
Use uvm_km_kmemalloc_pla with the dma constraint to allocate kernel stacks. Yes, that means DMA is possible to kernel stacks, but only until we've fixed all the scary drivers. deraadt@ ok
Diffstat (limited to 'sys/kern/subr_pool.c')
-rw-r--r--sys/kern/subr_pool.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/kern/subr_pool.c b/sys/kern/subr_pool.c
index edcc2fe1ce8..cd856ea8e68 100644
--- a/sys/kern/subr_pool.c
+++ b/sys/kern/subr_pool.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: subr_pool.c,v 1.94 2010/06/29 20:39:27 thib Exp $ */
+/* $OpenBSD: subr_pool.c,v 1.95 2010/07/02 01:25:05 art Exp $ */
/* $NetBSD: subr_pool.c,v 1.61 2001/09/26 07:14:56 chs Exp $ */
/*-
@@ -1491,8 +1491,8 @@ pool_large_alloc(struct pool *pp, int flags, int *slowdown)
int s;
s = splvm();
- va = uvm_km_kmemalloc_pla(kmem_map, NULL, pp->pr_alloc->pa_pagesz, kfl,
- pp->pr_crange->ucr_low, pp->pr_crange->ucr_high,
+ va = uvm_km_kmemalloc_pla(kmem_map, NULL, pp->pr_alloc->pa_pagesz, 0,
+ kfl, pp->pr_crange->ucr_low, pp->pr_crange->ucr_high,
0, 0, pp->pr_pa_nsegs);
splx(s);
@@ -1515,7 +1515,7 @@ pool_large_alloc_ni(struct pool *pp, int flags, int *slowdown)
int kfl = (flags & PR_WAITOK) ? 0 : UVM_KMF_NOWAIT;
return ((void *)uvm_km_kmemalloc_pla(kernel_map, uvm.kernel_object,
- pp->pr_alloc->pa_pagesz, kfl,
+ pp->pr_alloc->pa_pagesz, 0, kfl,
pp->pr_crange->ucr_low, pp->pr_crange->ucr_high,
0, 0, pp->pr_pa_nsegs));
}