platform_system_sepolicy/public
Stephen Smalley 4397f08288 sepolicy: Define and allow map permission
Kernel commit 3ba4bf5f1e2c ("selinux: add a map permission check for mmap")
added a map permission check on mmap so that we can
distinguish memory mapped access (since it has different implications
for revocation).  The purpose of a separate map permission check on
mmap(2) is to permit policy to prohibit memory mapping of specific files
for which we need to ensure that every access is revalidated, particularly
useful for scenarios where we expect the file to be relabeled at runtime
in order to reflect state changes (e.g. cross-domain solution, assured
pipeline without data copying).  The kernel commit is anticipated to
be included in Linux 4.13.

This change defines map permission for the Android policy.  It mirrors
the definition in the kernel classmap by adding it to the common
definitions for files and sockets.  This will break compatibility for
kernels that predate the dynamic class/perm mapping support (< 2.6.33);
on such kernels, one would instead need to add map permission
to the end of each file and socket access vector.

This change also adds map permission to the global macro definitions for
file permissions, thereby allowing it in any allow rule that uses these
macros, and to specific rules allowing mapping of files from /system
and executable types. This should cover most cases where it is needed,
although it may still need to be added to specific allow rules when the
global macros are not used.

Test: Policy builds

Change-Id: Iab3ccd2b6587618e68ecab58218838749fe5e7f5
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
2017-07-10 16:31:23 -04:00
..
adbd.te Move adbd policy to private 2017-02-07 09:55:05 -08:00
attributes SELinux policies for PDX services 2017-05-15 10:07:05 -07:00
audioserver.te Move audioserver policy to private 2017-02-07 10:47:18 -08:00
blkid.te Move blkid policy to private 2017-02-07 23:57:53 +00:00
blkid_untrusted.te Move blkid policy to private 2017-02-07 23:57:53 +00:00
bluetooth.te Move bluetooth policy to private 2017-02-06 15:29:10 -08:00
bootanim.te Allow hals to read hwservicemanager prop. 2017-03-23 01:50:50 +00:00
bootstat.te logd: restrict access to /dev/event-log-tags 2017-01-31 15:50:15 +00:00
bufferhubd.te SELinux policies for PDX services 2017-05-15 10:07:05 -07:00
cameraserver.te Remove unnecessary binder_call from cameraserver 2017-03-21 12:39:13 -07:00
charger.te healthd: create SEPolicy for 'charger' and reduce healthd's scope 2016-12-15 18:17:13 -08:00
clatd.te Split general policy into public and private components. 2016-10-06 13:09:06 -07:00
cppreopts.te Split general policy into public and private components. 2016-10-06 13:09:06 -07:00
crash_dump.te Revert "Add /dev/kmsg_debug." 2017-05-26 00:32:07 +00:00
device.te Revert "Add /dev/kmsg_debug." 2017-05-26 00:32:07 +00:00
dex2oat.te Add dex2oat permissions to open and read the tmp apk. 2017-04-18 17:12:19 -07:00
dhcp.te Split general policy into public and private components. 2016-10-06 13:09:06 -07:00
dnsmasq.te remove more domain_deprecated 2016-12-09 19:57:43 -08:00
domain.te sepolicy: Define and allow map permission 2017-07-10 16:31:23 -04:00
domain_deprecated.te dumpstate: remove domain_deprecated attribute 2017-07-09 21:28:45 -07:00
drmserver.te Merge ephemeral data and apk files into app 2017-02-06 10:16:50 -08:00
dumpstate.te dumpstate: remove domain_deprecated attribute 2017-07-09 21:28:45 -07:00
ephemeral_app.te Move ephemeral_app policy to private 2017-01-09 15:34:27 -08:00
file.te Allow only system_server to read uid_time_in_state 2017-06-30 22:07:57 -07:00
fingerprintd.te te_macros: introduce add_service() macro 2017-01-26 04:43:16 +00:00
fsck.te fsck: allow stat access on /dev/block files 2017-02-17 12:47:25 -08:00
fsck_untrusted.te fsck: allow stat access on /dev/block files 2017-02-17 12:47:25 -08:00
gatekeeperd.te Fix sepolicy for Gatekeeper HAL 2017-03-20 07:39:33 -07:00
global_macros sepolicy: Define and allow map permission 2017-07-10 16:31:23 -04:00
hal_allocator.te Mark all clients of Allocator HAL 2017-03-24 13:54:43 -07:00
hal_audio.te hal_audio: Allow writing dump info into pipes when capturing BR 2017-05-04 13:25:52 -07:00
hal_bluetooth.te Disallow HAL access to Bluetooth data files 2017-03-30 17:59:32 +00:00
hal_bootctl.te Switch Boot Control HAL policy to _client/_server 2017-03-17 17:22:06 -07:00
hal_camera.te Switch Allocator HAL policy to _client/_server 2017-03-20 22:18:12 +00:00
hal_contexthub.te haldomain: add hwbinder_use 2017-01-18 09:47:50 -08:00
hal_drm.te Switch DRM HAL policy to _client/_server 2017-02-17 15:36:41 -08:00
hal_dumpstate.te dumpstate: allow HALs to read /proc/interrupts 2017-03-22 13:26:03 -07:00
hal_fingerprint.te Switch Fingerprint HAL policy to _client/_server 2017-02-21 16:11:25 -08:00
hal_gatekeeper.te Fix sepolicy for Gatekeeper HAL 2017-03-20 07:39:33 -07:00
hal_gnss.te haldomain: add hwbinder_use 2017-01-18 09:47:50 -08:00
hal_graphics_allocator.te Move Graphics Allocator HAL IPC rules to proper location 2017-03-20 15:02:20 -07:00
hal_graphics_composer.te Allow hwcomposer to change scheduling policy 2017-02-13 09:02:04 -08:00
hal_health.te haldomain: add hwbinder_use 2017-01-18 09:47:50 -08:00
hal_ir.te haldomain: add hwbinder_use 2017-01-18 09:47:50 -08:00
hal_keymaster.te Switch Keymaster HAL policy to _client/_server 2017-02-22 20:18:28 -08:00
hal_light.te hal_light: add permission to sys/class/leds. 2017-01-20 00:17:11 +00:00
hal_neverallows.te Enforce one HAL per domain. 2017-03-21 12:16:31 -07:00
hal_nfc.te Remove access to sock_file for hal_nfc 2017-04-25 14:57:33 -07:00
hal_sensors.te Switch Sensors HAL policy to _client/_server 2017-03-14 12:43:29 -07:00
hal_telephony.te haldomain: add hwbinder_use 2017-01-18 09:47:50 -08:00
hal_thermal.te haldomain: add hwbinder_use 2017-01-18 09:47:50 -08:00
hal_usb.te sepolicy for usb hal 2017-01-27 00:05:19 +00:00
hal_vibrator.te haldomain: add hwbinder_use 2017-01-18 09:47:50 -08:00
hal_vr.te haldomain: add hwbinder_use 2017-01-18 09:47:50 -08:00
hal_wifi.te Add sepolicy for hal_wifi to access /proc/modules 2017-06-14 00:46:55 +09:00
hal_wifi_supplicant.te wpa_supplicant: Remove unnecessary permissions from system_server 2017-03-22 17:43:38 +00:00
healthd.te Annotate most remaining HALs with _client/_server 2017-03-16 19:55:16 -07:00
hostapd.te Split general policy into public and private components. 2016-10-06 13:09:06 -07:00
hwservicemanager.te hwservicemanager: halserverdomain 2017-03-22 08:43:43 -07:00
idmap.te Add service 'overlay' to service_contexts 2017-02-22 11:28:15 -08:00
incident.te Add incident command and incidentd daemon se policy. 2017-02-07 15:52:07 -08:00
incidentd.te Add incident command and incidentd daemon se policy. 2017-02-07 15:52:07 -08:00
init.te Add getpgid to system_service and init 2017-06-13 15:23:01 -07:00
inputflinger.te te_macros: introduce add_service() macro 2017-01-26 04:43:16 +00:00
install_recovery.te install_recovery.te: remove domain_deprecated 2017-01-09 16:47:36 +00:00
installd.te Allow installd to delete files via sdcardfs. 2017-07-03 00:34:26 +00:00
ioctl_defines Split general policy into public and private components. 2016-10-06 13:09:06 -07:00
ioctl_macros Add TCSETS to unpriv_tty_ioctls 2016-12-07 15:59:34 -08:00
isolated_app.te Move isolated_app policy to private 2017-01-05 16:06:54 -08:00
kernel.te Add drm and kernel permissions to mediaprovider 2017-04-26 11:15:44 -07:00
keystore.te Switch Keymaster HAL policy to _client/_server 2017-02-22 20:18:28 -08:00
lmkd.te more ephemeral_app cleanup 2017-01-20 14:35:17 +00:00
logd.te logd: add getEventTag command and service 2017-01-31 15:50:42 +00:00
logpersist.te logpersist: do not permit dynamic transition to domain 2016-12-29 09:29:36 -08:00
mdnsd.te Move mdnsd policy to private 2017-02-06 15:02:32 -08:00
mediacodec.te SELinux policies for PDX services 2017-05-15 10:07:05 -07:00
mediadrmserver.te MediaCAS: adding media.cas to service 2017-02-28 12:31:45 -08:00
mediaextractor.te Allow fallback crash dumping for seccomped processes. 2017-03-07 15:53:46 -08:00
mediametrics.te Add documentation on neverallow rules 2017-02-17 22:37:23 +00:00
mediaprovider.te Split mediaprovider as a separate domain from priv_app 2017-04-17 15:30:35 -07:00
mediaserver.te Mark all clients of Allocator HAL 2017-03-24 13:54:43 -07:00
modprobe.te SELinux changes for Treble Loadable Kernel Module 2017-04-05 18:43:44 +08:00
mtp.te Split general policy into public and private components. 2016-10-06 13:09:06 -07:00
net.te Move netdomain policy to private 2017-02-06 15:02:00 -08:00
netd.te SELinux policy for secure persistent netd storage 2017-06-12 11:00:59 +09:00
neverallow_macros Split general policy into public and private components. 2016-10-06 13:09:06 -07:00
nfc.te Remove unnecessary rules from NFC HAL clients 2017-03-22 16:22:33 -07:00
otapreopt_chroot.te Split general policy into public and private components. 2016-10-06 13:09:06 -07:00
otapreopt_slot.te Sepolicy: Allow getattr for otapreopt_slot 2017-03-17 10:05:31 -07:00
performanced.te SELinux policies for PDX services 2017-05-15 10:07:05 -07:00
perfprofd.te Fix build. 2016-12-06 16:49:25 -08:00
platform_app.te Move platform_app policy to private 2017-01-09 14:52:59 -08:00
postinstall.te Split general policy into public and private components. 2016-10-06 13:09:06 -07:00
postinstall_dexopt.te Sepolicy: Allow postinstall to read links 2017-03-17 10:08:52 -07:00
ppp.te ppp: Allow specific ioctls on mtp:socket. 2017-03-17 17:09:19 -04:00
preopt2cachename.te Split general policy into public and private components. 2016-10-06 13:09:06 -07:00
priv_app.te Move priv_app policy to private 2017-01-05 15:44:32 -08:00
profman.te Allow profman to analyze profiles for the secondary dex files 2017-03-15 18:47:13 -07:00
property.te SELinux policy for secure persistent netd storage 2017-06-12 11:00:59 +09:00
racoon.te remove setuid SELinux capability for racoon. 2017-02-22 03:31:23 +00:00
radio.te Annotate most remaining HALs with _client/_server 2017-03-16 19:55:16 -07:00
recovery.te recovery: clean up audit logspam 2017-07-03 02:47:49 +00:00
recovery_persist.te sepolicy: add version_policy tool and version non-platform policy. 2016-12-06 08:56:02 -08:00
recovery_refresh.te sepolicy: add version_policy tool and version non-platform policy. 2016-12-06 08:56:02 -08:00
rild.te Annotate most remaining HALs with _client/_server 2017-03-16 19:55:16 -07:00
roles sepolicy: add version_policy tool and version non-platform policy. 2016-12-06 08:56:02 -08:00
runas.te Avoid audit when running adb shell -t run-as xxx. 2017-06-19 16:02:07 -07:00
sdcardd.te Remove logspam 2017-02-10 12:06:38 -08:00
sensord.te SELinux policies for PDX services 2017-05-15 10:07:05 -07:00
service.te Add SEPolicy for new Java-based Broadcast Radio service. 2017-06-30 21:38:32 -07:00
servicemanager.te Remove domain_deprecated from some domains. 2016-11-25 17:37:30 -08:00
sgdisk.te remove more domain_deprecated 2016-12-09 19:57:43 -08:00
shared_relro.te Restore app_domain macro and move to private use. 2016-12-08 14:42:43 -08:00
shell.te Allow the shell user to run tzdatacheck 2017-04-20 09:31:36 +00:00
slideshow.te Split general policy into public and private components. 2016-10-06 13:09:06 -07:00
su.te Introduce crash_dump debugging helper. 2017-01-18 15:03:24 -08:00
surfaceflinger.te Move surfaceflinger policy to private 2017-02-07 10:06:12 -08:00
system_app.te Move system_app policy to private 2017-01-05 17:20:28 -08:00
system_server.te Move system_server policy to private 2017-02-07 20:24:05 +00:00
te_macros sepolicy: Define and allow map permission 2017-07-10 16:31:23 -04:00
tee.te Split general policy into public and private components. 2016-10-06 13:09:06 -07:00
tombstoned.te SEPolicy: Changes for new stack dumping scheme. 2017-05-31 08:54:37 +01:00
toolbox.te Split general policy into public and private components. 2016-10-06 13:09:06 -07:00
tzdatacheck.te Allow the shell user to run tzdatacheck 2017-04-20 09:31:36 +00:00
ueventd.te Removing init and ueventd access to generic char files 2017-02-01 21:35:08 +00:00
uncrypt.te Split general policy into public and private components. 2016-10-06 13:09:06 -07:00
untrusted_app.te Move untrusted_app policy to private 2017-01-05 14:39:52 -08:00
untrusted_app_25.te untrusted_app: policy versioning based on targetSdkVersion 2017-02-14 13:30:12 -08:00
untrusted_v2_app.te Add new untrusted_v2_app domain 2017-02-21 12:39:55 -08:00
update_engine.te Switch Boot Control HAL policy to _client/_server 2017-03-17 17:22:06 -07:00
update_engine_common.te Allow update_engine to kill postinstall process. 2017-03-22 21:01:08 -07:00
update_verifier.te Allow update_verifier to reboot the device 2017-04-04 19:44:06 +00:00
vdc.te Grant vdc access to kmsg 2017-03-30 11:02:29 -07:00
virtual_touchpad.te Add policies for new services. 2017-02-09 15:15:11 -08:00
vndservicemanager.te Initial sepolicy for vndservicemanager. 2017-03-23 00:20:43 +00:00
vold.te Grant kernel access to new "virtual_disk" file. 2017-03-26 16:00:56 -06:00
watchdogd.te Split general policy into public and private components. 2016-10-06 13:09:06 -07:00
webview_zygote.te Move webview_zygote policy to private 2017-01-27 17:01:43 +00:00
wificond.te te_macros: introduce add_service() macro 2017-01-26 04:43:16 +00:00
zygote.te Move zygote policy to private 2017-01-26 13:31:16 -08:00