Commit ad7719c5 authored by Nick Kralevich's avatar Nick Kralevich Committed by Android Git Automerger
Browse files

am 6b82aaeb: am 6d97d9b8: Merge "Revert "SELinux policy changes for re-execing init.""

* commit '6b82aaeb':
  Revert "SELinux policy changes for re-execing init."
parents 25ed8fa3 6b82aaeb
master brillo-m10-dev brillo-m10-release brillo-m7-dev brillo-m7-mr-dev brillo-m7-release brillo-m8-dev brillo-m8-release brillo-m9-dev brillo-m9-release marshmallow-cts-dev marshmallow-cts-release marshmallow-dev marshmallow-dr-dev marshmallow-dr-dragon-release marshmallow-dr-release marshmallow-dr1.5-dev marshmallow-dr1.5-release marshmallow-dr1.6-release marshmallow-mr1-dev marshmallow-mr1-release marshmallow-mr2-release marshmallow-mr3-release marshmallow-release n-preview-1 rockchip-6.0.1_r55 android-n-preview-1 android-cts-6.0_r14 android-cts-6.0_r13 android-cts-6.0_r12 android-cts-6.0_r9 android-cts-6.0_r8 android-cts-6.0_r7 android-cts-6.0_r6 android-cts-6.0_r5 android-cts-6.0_r4 android-cts-6.0_r3 android-cts-6.0_r2 android-cts-6.0_r1 android-6.0.1_r78 android-6.0.1_r77 android-6.0.1_r74 android-6.0.1_r73 android-6.0.1_r72 android-6.0.1_r70 android-6.0.1_r69 android-6.0.1_r68 android-6.0.1_r67 android-6.0.1_r66 android-6.0.1_r65 android-6.0.1_r63 android-6.0.1_r62 android-6.0.1_r61 android-6.0.1_r60 android-6.0.1_r59 android-6.0.1_r58 android-6.0.1_r57 android-6.0.1_r56 android-6.0.1_r55 android-6.0.1_r54 android-6.0.1_r53 android-6.0.1_r52 android-6.0.1_r51 android-6.0.1_r50 android-6.0.1_r49 android-6.0.1_r48 android-6.0.1_r47 android-6.0.1_r46 android-6.0.1_r45 android-6.0.1_r43 android-6.0.1_r42 android-6.0.1_r41 android-6.0.1_r40 android-6.0.1_r33 android-6.0.1_r32 android-6.0.1_r31 android-6.0.1_r30 android-6.0.1_r28 android-6.0.1_r27 android-6.0.1_r26 android-6.0.1_r25 android-6.0.1_r24 android-6.0.1_r22 android-6.0.1_r21 android-6.0.1_r20 android-6.0.1_r18 android-6.0.1_r17 android-6.0.1_r16 android-6.0.1_r13 android-6.0.1_r12 android-6.0.1_r11 android-6.0.1_r10 android-6.0.1_r9 android-6.0.1_r8 android-6.0.1_r7 android-6.0.1_r5 android-6.0.1_r4 android-6.0.1_r3 android-6.0.1_r1 android-6.0.0_r41 android-6.0.0_r26 android-6.0.0_r25 android-6.0.0_r24 android-6.0.0_r23 android-6.0.0_r13 android-6.0.0_r12 android-6.0.0_r11 android-6.0.0_r7 android-6.0.0_r6 android-6.0.0_r5 android-6.0.0_r4 android-6.0.0_r3 android-6.0.0_r2 android-6.0.0_r1
No related merge requests found
......@@ -299,8 +299,7 @@ neverallow { domain -init } property_data_file:file no_w_file_perms;
# Only recovery should be doing writes to /system
neverallow { domain -recovery } { system_file exec_type }:dir_file_class_set
{ create write setattr relabelfrom append unlink link rename };
neverallow { domain -recovery -kernel } { system_file exec_type }:dir_file_class_set relabelto;
{ create write setattr relabelfrom relabelto append unlink link rename };
# Don't allow mounting on top of /system files or directories
neverallow domain { system_file exec_type }:dir_file_class_set mounton;
......
......@@ -12,7 +12,7 @@
# Executables
/charger u:object_r:rootfs:s0
/init u:object_r:init_exec:s0
/init u:object_r:rootfs:s0
/sbin(/.*)? u:object_r:rootfs:s0
# Empty directories
......
# init is its own domain.
# init switches to init domain (via init.rc).
type init, domain, mlstrustedsubject;
tmpfs_domain(init)
# The init domain is entered by execing init.
type init_exec, exec_type, file_type;
# /dev/__null__ node created by init.
allow init tmpfs:chr_file create_file_perms;
#
# init direct restorecon calls.
#
# /dev/socket
allow init { device socket_device }:dir relabelto;
# /dev/__properties__
allow init tmpfs:file relabelfrom;
allow init properties_device:file relabelto;
# setrlimit
allow init self:capability sys_resource;
......@@ -45,8 +30,6 @@ allow init self:capability sys_admin;
allow init rootfs:dir create_dir_perms;
allow init rootfs:dir mounton;
allow init proc:dir mounton;
# Mount on /dev/usb-ffs/adb.
allow init device:dir mounton;
......@@ -161,8 +144,8 @@ recovery_only(`
domain_trans(init, rootfs, recovery)
')
domain_trans(init, shell_exec, shell)
domain_trans(init, init_exec, ueventd)
domain_trans(init, init_exec, watchdogd)
domain_trans(init, rootfs, ueventd)
domain_trans(init, rootfs, watchdogd)
# Support "adb shell stop"
allow init self:capability kill;
......@@ -274,9 +257,9 @@ unix_socket_connect(init, vold, vold)
# The init domain is only entered via setcon from the kernel domain,
# never via an exec-based transition.
neverallow domain init:process dyntransition;
neverallow { domain -kernel} init:process transition;
neverallow init { file_type fs_type -init_exec }:file entrypoint;
neverallow { domain -kernel} init:process dyntransition;
neverallow domain init:process transition;
neverallow init { file_type fs_type }:file entrypoint;
# Never read/follow symlinks created by shell or untrusted apps.
neverallow init shell_data_file:lnk_file read;
......
......@@ -3,11 +3,15 @@ type kernel, domain, mlstrustedsubject;
allow kernel self:capability sys_nice;
# Allow init relabel itself.
allow kernel rootfs:file relabelfrom;
allow kernel init_exec:file relabelto;
# TODO: investigate why we need this.
allow kernel init:process share;
# Run /init before we have switched domains.
allow kernel rootfs:file execute_no_trans;
# /dev/__null__ node created by init prior to policy load.
allow kernel tmpfs:chr_file rw_file_perms;
# setcon to init domain.
allow kernel self:process setcurrent;
allow kernel init:process dyntransition;
# cgroup filesystem initialization prior to setting the cgroup root directory label.
allow kernel unlabeled:dir search;
......@@ -16,6 +20,18 @@ allow kernel unlabeled:dir search;
allow kernel usbfs:filesystem mount;
allow kernel usbfs:dir search;
# init direct restorecon calls prior to switching to init domain
# /dev and /dev/socket
allow kernel tmpfs:dir relabelfrom;
allow kernel { device socket_device }:dir relabelto;
# /dev/__properties__
allow kernel tmpfs:file relabelfrom;
allow kernel properties_device:file relabelto;
# /sys
allow kernel sysfs:{ dir file lnk_file } relabelfrom;
allow kernel sysfs_type:{ dir file lnk_file } relabelto;
allow kernel sysfs_type:dir r_dir_perms;
# Initial setenforce by init prior to switching to init domain.
# We use dontaudit instead of allow to prevent a kernel spawned userspace
# process from turning off SELinux once enabled.
......@@ -42,8 +58,6 @@ allow kernel vold:fd use;
allow kernel app_data_file:file read;
allow kernel asec_image_file:file read;
domain_auto_trans(kernel, init_exec, init)
###
### neverallow rules
###
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment