Wed Jul 20 12:38:44 2016 UTC ()
Introduce uvm_km_protect.


(maxv)
diff -r1.197 -r1.198 src/sys/uvm/uvm_extern.h
diff -r1.139 -r1.140 src/sys/uvm/uvm_km.c

cvs diff -r1.197 -r1.198 src/sys/uvm/uvm_extern.h (expand / switch to context diff)
--- src/sys/uvm/uvm_extern.h 2016/05/25 17:43:58 1.197
+++ src/sys/uvm/uvm_extern.h 2016/07/20 12:38:43 1.198
@@ -1,4 +1,4 @@
-/*	$NetBSD: uvm_extern.h,v 1.197 2016/05/25 17:43:58 christos Exp $	*/
+/*	$NetBSD: uvm_extern.h,v 1.198 2016/07/20 12:38:43 maxv Exp $	*/
 
 /*
  * Copyright (c) 1997 Charles D. Cranor and Washington University.
@@ -627,6 +627,8 @@
 /* uvm_km.c */
 vaddr_t			uvm_km_alloc(struct vm_map *, vsize_t, vsize_t,
 			    uvm_flag_t);
+int			uvm_km_protect(struct vm_map *, vaddr_t, vsize_t,
+			    vm_prot_t);
 void			uvm_km_free(struct vm_map *, vaddr_t, vsize_t,
 			    uvm_flag_t);
 

cvs diff -r1.139 -r1.140 src/sys/uvm/uvm_km.c (expand / switch to context diff)
--- src/sys/uvm/uvm_km.c 2015/02/06 18:19:22 1.139
+++ src/sys/uvm/uvm_km.c 2016/07/20 12:38:43 1.140
@@ -1,4 +1,4 @@
-/*	$NetBSD: uvm_km.c,v 1.139 2015/02/06 18:19:22 maxv Exp $	*/
+/*	$NetBSD: uvm_km.c,v 1.140 2016/07/20 12:38:43 maxv Exp $	*/
 
 /*
  * Copyright (c) 1997 Charles D. Cranor and Washington University.
@@ -152,7 +152,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: uvm_km.c,v 1.139 2015/02/06 18:19:22 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uvm_km.c,v 1.140 2016/07/20 12:38:43 maxv Exp $");
 
 #include "opt_uvmhist.h"
 
@@ -705,6 +705,16 @@
 
 	UVMHIST_LOG(maphist,"<- done (kva=0x%x)", kva,0,0,0);
 	return(kva);
+}
+
+/*
+ * uvm_km_protect: change the protection of an allocated area
+ */
+
+int
+uvm_km_protect(struct vm_map *map, vaddr_t addr, vsize_t size, vm_prot_t prot)
+{
+	return uvm_map_protect(map, addr, addr + round_page(size), prot, false);
 }
 
 /*