Module Name:    src
Committed By:   riastradh
Date:           Mon Aug 27 07:45:12 UTC 2018

Modified Files:
        src/sys/external/bsd/drm2/dist/drm/ttm: ttm_bo_util.c

Log Message:
Actually do DRM_SUSER check for mapping >1 page in kernel.


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/sys/external/bsd/drm2/dist/drm/ttm/ttm_bo_util.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/dist/drm/ttm/ttm_bo_util.c
diff -u src/sys/external/bsd/drm2/dist/drm/ttm/ttm_bo_util.c:1.8 src/sys/external/bsd/drm2/dist/drm/ttm/ttm_bo_util.c:1.9
--- src/sys/external/bsd/drm2/dist/drm/ttm/ttm_bo_util.c:1.8	Mon Aug 27 07:45:02 2018
+++ src/sys/external/bsd/drm2/dist/drm/ttm/ttm_bo_util.c	Mon Aug 27 07:45:12 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: ttm_bo_util.c,v 1.8 2018/08/27 07:45:02 riastradh Exp $	*/
+/*	$NetBSD: ttm_bo_util.c,v 1.9 2018/08/27 07:45:12 riastradh Exp $	*/
 
 /**************************************************************************
  *
@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ttm_bo_util.c,v 1.8 2018/08/27 07:45:02 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ttm_bo_util.c,v 1.9 2018/08/27 07:45:12 riastradh Exp $");
 
 #include <drm/ttm/ttm_bo_driver.h>
 #include <drm/ttm/ttm_placement.h>
@@ -48,6 +48,7 @@ __KERNEL_RCSID(0, "$NetBSD: ttm_bo_util.
 
 #ifdef __NetBSD__		/* PMAP_* caching flags for ttm_io_prot */
 #include <uvm/uvm_pmap.h>
+#include <drm/drm_auth_netbsd.h>
 #endif
 
 void ttm_bo_free_old_node(struct ttm_buffer_object *bo)
@@ -723,10 +724,12 @@ int ttm_bo_kmap(struct ttm_buffer_object
 		return -EINVAL;
 	if (start_page > bo->num_pages)
 		return -EINVAL;
-#if 0
+#ifdef __NetBSD__
+	if (num_pages > 1 && !DRM_SUSER())
+#else
 	if (num_pages > 1 && !capable(CAP_SYS_ADMIN))
-		return -EPERM;
 #endif
+		return -EPERM;
 	(void) ttm_mem_io_lock(man, false);
 	ret = ttm_mem_io_reserve(bo->bdev, &bo->mem);
 	ttm_mem_io_unlock(man);

Reply via email to