Gentoo Archives: gentoo-commits

From: Sven Vermeulen <swift@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/hardened-refpolicy:swift commit in: policy/modules/kernel/, policy/modules/system/
Date: Wed, 02 Dec 2015 15:45:35
Message-Id: 1445831745.bac1f46765f49a73cdfb5a482f45f3a83487ee06.swift@gentoo
1 commit: bac1f46765f49a73cdfb5a482f45f3a83487ee06
2 Author: Chris PeBenito <cpebenito <AT> tresys <DOT> com>
3 AuthorDate: Tue Oct 20 17:23:35 2015 +0000
4 Commit: Sven Vermeulen <swift <AT> gentoo <DOT> org>
5 CommitDate: Mon Oct 26 03:55:45 2015 +0000
6 URL: https://gitweb.gentoo.org/proj/hardened-refpolicy.git/commit/?id=bac1f467
7
8 Add sysfs_types attribute.
9
10 Collect all types used to label sysfs entries.
11
12 policy/modules/kernel/devices.if | 20 ++++++++++++++++++++
13 policy/modules/kernel/devices.te | 5 +++--
14 policy/modules/system/init.te | 1 +
15 3 files changed, 24 insertions(+), 2 deletions(-)
16
17 diff --git a/policy/modules/kernel/devices.if b/policy/modules/kernel/devices.if
18 index a052db5..591b932 100644
19 --- a/policy/modules/kernel/devices.if
20 +++ b/policy/modules/kernel/devices.if
21 @@ -4130,6 +4130,26 @@ interface(`dev_rw_sysfs',`
22
23 ########################################
24 ## <summary>
25 +## Relabel from/to all sysfs types.
26 +## </summary>
27 +## <param name="domain">
28 +## <summary>
29 +## Domain allowed access.
30 +## </summary>
31 +## </param>
32 +#
33 +interface(`dev_relabel_all_sysfs',`
34 + gen_require(`
35 + attribute sysfs_types;
36 + ')
37 +
38 + allow $1 sysfs_types:dir { list_dir_perms relabel_dir_perms };
39 + allow $1 sysfs_types:file relabel_file_perms;
40 + allow $1 sysfs_types:lnk_file relabel_lnk_file_perms;
41 +')
42 +
43 +########################################
44 +## <summary>
45 ## Read and write the TPM device.
46 ## </summary>
47 ## <param name="domain">
48
49 diff --git a/policy/modules/kernel/devices.te b/policy/modules/kernel/devices.te
50 index e5bcfcd..9274a82 100644
51 --- a/policy/modules/kernel/devices.te
52 +++ b/policy/modules/kernel/devices.te
53 @@ -9,6 +9,7 @@ attribute device_node;
54 attribute memory_raw_read;
55 attribute memory_raw_write;
56 attribute devices_unconfined_type;
57 +attribute sysfs_types;
58
59 #
60 # device_t is the type of /dev.
61 @@ -62,7 +63,7 @@ dev_node(cpu_device_t)
62 #
63 # /sys/devices/system/cpu/online device
64 #
65 -type cpu_online_t;
66 +type cpu_online_t, sysfs_types;
67 files_type(cpu_online_t)
68 dev_associate_sysfs(cpu_online_t)
69
70 @@ -229,7 +230,7 @@ dev_node(sound_device_t)
71 #
72 # sysfs_t is the type for the /sys pseudofs
73 #
74 -type sysfs_t;
75 +type sysfs_t, sysfs_types;
76 files_mountpoint(sysfs_t)
77 fs_xattr_type(sysfs_t)
78 genfscon sysfs / gen_context(system_u:object_r:sysfs_t,s0)
79
80 diff --git a/policy/modules/system/init.te b/policy/modules/system/init.te
81 index 79400f2..8c9cffa 100644
82 --- a/policy/modules/system/init.te
83 +++ b/policy/modules/system/init.te
84 @@ -224,6 +224,7 @@ ifdef(`init_systemd',`
85 dev_create_generic_dirs(init_t)
86 dev_manage_input_dev(init_t)
87 dev_relabel_all_dev_nodes(init_t)
88 + dev_relabel_all_sysfs(init_t)
89 dev_read_urand(init_t)
90 dev_write_kmsg(init_t)