PERFORCE change 229510 for review

Robert Watson rwatson at FreeBSD.org
Sat Jun 8 17:10:22 UTC 2013


http://p4web.freebsd.org/@@229510?ac=10

Change 229510 by rwatson at rwatson_cinnamon on 2013/06/08 17:09:41

	Add a new tesla-kernel.h that will have useful FreeBSD kernel-specific
	TESLA definitions, such as TESLA_SYSCALL(), TESLA_VM_FAULT(), etc.
	
	Use this in ffs_vnops.c.

Affected files ...

.. //depot/projects/ctsrd/tesla/src/sys/sys/tesla-kernel.h#1 add
.. //depot/projects/ctsrd/tesla/src/sys/ufs/ffs/ffs_vnops.c#8 edit

Differences ...

==== //depot/projects/ctsrd/tesla/src/sys/ufs/ffs/ffs_vnops.c#8 (text+ko) ====

@@ -80,8 +80,11 @@
 #include <sys/vmmeter.h>
 #include <sys/vnode.h>
 
+#include <security/mac/mac_framework.h>
+
 #include <tesla.h>
 #include <tesla-macros.h>
+#include <sys/tesla-kernel.h>
 
 #include <vm/vm.h>
 #include <vm/vm_param.h>
@@ -409,17 +412,7 @@
 #endif
 }
 
-#ifdef TESLA
 /*
- * XXXRW: It would be nice if we didn't have to do this.
- */
-#include <security/mac/mac_framework.h>
-
-void syscall(void);		/* Varies by arch but we only need symbol. */
-#define	TESLA_SYSCALL(x)	TESLA_WITHIN(syscall, x)
-#endif
-
-/*
  * Vnode op for reading.
  */
 static int
@@ -447,6 +440,8 @@
 	vp = ap->a_vp;
 	TESLA_SYSCALL(previously(mac_vnode_check_read(ANY(ptr), ANY(ptr), vp)
 	    == 0));
+	TESLA_VM_FAULT(previously(mac_vnode_check_read(ANY(ptr), ANY(ptr), vp)
+	    == 0));
 
 	uio = ap->a_uio;
 	ioflag = ap->a_ioflag;
@@ -671,6 +666,8 @@
 	vp = ap->a_vp;
 	TESLA_SYSCALL(previously(mac_vnode_check_write(ANY(ptr), ANY(ptr), vp)
 	    == 0));
+	TESLA_VM_FAULT(previously(mac_vnode_check_WRITE(ANY(ptr), ANY(ptr),
+	    vp) == 0));
 
 	uio = ap->a_uio;
 	ioflag = ap->a_ioflag;


More information about the p4-projects mailing list