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