1 |
commit: 50f8ca591816aac7bf881211f9b722955d59fc29 |
2 |
Author: Alexander Wetzel <alexander.wetzel <AT> web <DOT> de> |
3 |
AuthorDate: Sat Sep 5 07:41:48 2015 +0000 |
4 |
Commit: Jason Zaman <perfinion <AT> gentoo <DOT> org> |
5 |
CommitDate: Sun Sep 20 06:52:53 2015 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/hardened-refpolicy.git/commit/?id=50f8ca59 |
7 |
|
8 |
adds vfio device support to base policy |
9 |
|
10 |
Signed-off-by: Alexander Wetzel <alexander.wetzel <AT> web.de> |
11 |
|
12 |
policy/modules/kernel/devices.fc | 1 + |
13 |
policy/modules/kernel/devices.if | 36 ++++++++++++++++++++++++++++++++++++ |
14 |
policy/modules/kernel/devices.te | 3 +++ |
15 |
3 files changed, 40 insertions(+) |
16 |
|
17 |
diff --git a/policy/modules/kernel/devices.fc b/policy/modules/kernel/devices.fc |
18 |
index d6ebfcd..a33e395 100644 |
19 |
--- a/policy/modules/kernel/devices.fc |
20 |
+++ b/policy/modules/kernel/devices.fc |
21 |
@@ -118,6 +118,7 @@ |
22 |
ifdef(`distro_suse', ` |
23 |
/dev/usbscanner -c gen_context(system_u:object_r:scanner_device_t,s0) |
24 |
') |
25 |
+/dev/vfio/.+ -c gen_context(system_u:object_r:vfio_device_t,s0) |
26 |
/dev/vhost-net -c gen_context(system_u:object_r:vhost_device_t,s0) |
27 |
/dev/vbi.* -c gen_context(system_u:object_r:v4l_device_t,s0) |
28 |
/dev/vbox.* -c gen_context(system_u:object_r:xserver_misc_device_t,s0) |
29 |
|
30 |
diff --git a/policy/modules/kernel/devices.if b/policy/modules/kernel/devices.if |
31 |
index ed25979..835ec14 100644 |
32 |
--- a/policy/modules/kernel/devices.if |
33 |
+++ b/policy/modules/kernel/devices.if |
34 |
@@ -4611,6 +4611,42 @@ interface(`dev_write_video_dev',` |
35 |
|
36 |
######################################## |
37 |
## <summary> |
38 |
+## Read and write vfio devices. |
39 |
+## </summary> |
40 |
+## <param name="domain"> |
41 |
+## <summary> |
42 |
+## Domain allowed access. |
43 |
+## </summary> |
44 |
+## </param> |
45 |
+# |
46 |
+interface(`dev_rw_vfio_dev',` |
47 |
+ gen_require(` |
48 |
+ type device_t, vfio_device_t; |
49 |
+ ') |
50 |
+ |
51 |
+ rw_chr_files_pattern($1, device_t, vfio_device_t) |
52 |
+') |
53 |
+ |
54 |
+######################################## |
55 |
+## <summary> |
56 |
+## Relabel vfio devices. |
57 |
+## </summary> |
58 |
+## <param name="domain"> |
59 |
+## <summary> |
60 |
+## Domain allowed access. |
61 |
+## </summary> |
62 |
+## </param> |
63 |
+# |
64 |
+interface(`dev_relabelfrom_vfio_dev',` |
65 |
+ gen_require(` |
66 |
+ type device_t, vfio_device_t; |
67 |
+ ') |
68 |
+ |
69 |
+ relabelfrom_chr_files_pattern($1, device_t, vfio_device_t) |
70 |
+') |
71 |
+ |
72 |
+############################ |
73 |
+## <summary> |
74 |
## Allow read/write the vhost net device |
75 |
## </summary> |
76 |
## <param name="domain"> |
77 |
|
78 |
diff --git a/policy/modules/kernel/devices.te b/policy/modules/kernel/devices.te |
79 |
index 166c8f7..eb12597 100644 |
80 |
--- a/policy/modules/kernel/devices.te |
81 |
+++ b/policy/modules/kernel/devices.te |
82 |
@@ -273,6 +273,9 @@ dev_node(usbmon_device_t) |
83 |
type userio_device_t; |
84 |
dev_node(userio_device_t) |
85 |
|
86 |
+type vfio_device_t; |
87 |
+dev_node(vfio_device_t) |
88 |
+ |
89 |
type v4l_device_t; |
90 |
dev_node(v4l_device_t) |