Skip to content
Snippets Groups Projects
Commit 4d399f60 authored by Dario Freni's avatar Dario Freni Committed by Gerrit Code Review
Browse files

Merge "SEPolicy for Staged Installs."

parents 58b2f2b8 274c1ded
No related branches found
No related tags found
No related merge requests found
...@@ -46,6 +46,10 @@ allow apexd apex_mnt_dir:lnk_file create_file_perms; ...@@ -46,6 +46,10 @@ allow apexd apex_mnt_dir:lnk_file create_file_perms;
allow apexd apk_tmp_file:file relabelfrom; allow apexd apk_tmp_file:file relabelfrom;
allow apexd apex_data_file:file relabelto; allow apexd apex_data_file:file relabelto;
# allow apexd to read files from /data/staging and hardlink them to /data/apex.
allow apexd staging_data_file:dir r_dir_perms;
allow apexd staging_data_file:file { r_file_perms link };
# Unmount and mount filesystems # Unmount and mount filesystems
allow apexd labeledfs:filesystem { mount unmount }; allow apexd labeledfs:filesystem { mount unmount };
......
...@@ -142,6 +142,7 @@ ...@@ -142,6 +142,7 @@
secure_element_service secure_element_service
server_configurable_flags_data_file server_configurable_flags_data_file
slice_service slice_service
staging_data_file
stats stats
stats_data_file stats_data_file
stats_exec stats_exec
......
...@@ -141,6 +141,7 @@ ...@@ -141,6 +141,7 @@
statsdw_socket statsdw_socket
storaged_data_file storaged_data_file
super_block_device super_block_device
staging_data_file
system_boot_reason_prop system_boot_reason_prop
system_lmk_prop system_lmk_prop
system_suspend_hwservice system_suspend_hwservice
......
...@@ -75,10 +75,11 @@ ...@@ -75,10 +75,11 @@
rss_hwm_reset_exec rss_hwm_reset_exec
runtime_service runtime_service
sensor_privacy_service sensor_privacy_service
server_configurable_flags_data_file
super_block_device super_block_device
system_lmk_prop system_lmk_prop
system_suspend_hwservice system_suspend_hwservice
server_configurable_flags_data_file staging_data_file
time_prop time_prop
timedetector_service timedetector_service
timezonedetector_service timezonedetector_service
......
...@@ -138,6 +138,17 @@ neverallow { ...@@ -138,6 +138,17 @@ neverallow {
-installd -installd
} { privapp_data_file app_data_file }:dir_file_class_set { relabelfrom relabelto }; } { privapp_data_file app_data_file }:dir_file_class_set { relabelfrom relabelto };
# The staging directory contains APEX and APK files. It is important to ensure
# that these files cannot be accessed by other domains to ensure that the files
# do not change between system_server staging the files and apexd processing
# the files.
neverallow { domain -init -system_server -apexd } staging_data_file:dir *;
neverallow { domain -init -system_server -apexd } staging_data_file:file *;
neverallow { domain -init -system_server } staging_data_file:dir no_w_dir_perms;
# apexd needs the link permission, so list every `no_w_file_perms` except for `link`.
neverallow { domain -init -system_server } staging_data_file:file
{ append create unlink relabelfrom rename setattr write no_x_file_perms };
neverallow { neverallow {
domain domain
-appdomain # for oemfs -appdomain # for oemfs
......
...@@ -429,6 +429,7 @@ ...@@ -429,6 +429,7 @@
/data/preloads/media(/.*)? u:object_r:preloads_media_file:s0 /data/preloads/media(/.*)? u:object_r:preloads_media_file:s0
/data/preloads/demo(/.*)? u:object_r:preloads_media_file:s0 /data/preloads/demo(/.*)? u:object_r:preloads_media_file:s0
/data/server_configurable_flags(/.*)? u:object_r:server_configurable_flags_data_file:s0 /data/server_configurable_flags(/.*)? u:object_r:server_configurable_flags_data_file:s0
/data/staging(/.*)? u:object_r:staging_data_file:s0
# Misc data # Misc data
/data/misc/adb(/.*)? u:object_r:adb_keys_file:s0 /data/misc/adb(/.*)? u:object_r:adb_keys_file:s0
......
...@@ -471,6 +471,10 @@ allow system_server wifi_data_file:file create_file_perms; ...@@ -471,6 +471,10 @@ allow system_server wifi_data_file:file create_file_perms;
allow system_server zoneinfo_data_file:dir create_dir_perms; allow system_server zoneinfo_data_file:dir create_dir_perms;
allow system_server zoneinfo_data_file:file create_file_perms; allow system_server zoneinfo_data_file:file create_file_perms;
# Manage /data/staging.
allow system_server staging_data_file:dir create_dir_perms;
allow system_server staging_data_file:file create_file_perms;
# Walk /data/data subdirectories. # Walk /data/data subdirectories.
# Types extracted from seapp_contexts type= fields. # Types extracted from seapp_contexts type= fields.
allow system_server { allow system_server {
......
...@@ -253,6 +253,8 @@ type preloads_media_file, file_type, data_file_type, core_data_file_type; ...@@ -253,6 +253,8 @@ type preloads_media_file, file_type, data_file_type, core_data_file_type;
type dhcp_data_file, file_type, data_file_type, core_data_file_type; type dhcp_data_file, file_type, data_file_type, core_data_file_type;
# /data/server_configurable_flags # /data/server_configurable_flags
type server_configurable_flags_data_file, file_type, data_file_type, core_data_file_type; type server_configurable_flags_data_file, file_type, data_file_type, core_data_file_type;
# /data/staging
type staging_data_file, file_type, data_file_type, core_data_file_type;
# Mount locations managed by vold # Mount locations managed by vold
type mnt_media_rw_file, file_type; type mnt_media_rw_file, file_type;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment