Skip to content
Snippets Groups Projects
Commit 9f5241ea authored by Nick Kralevich's avatar Nick Kralevich Committed by Gerrit Code Review
Browse files

Merge "Remove block device access from unconfined domains."

parents 00abfd61 3f40d4f4
No related branches found
No related tags found
No related merge requests found
...@@ -203,7 +203,7 @@ neverallow domain init:binder call; ...@@ -203,7 +203,7 @@ neverallow domain init:binder call;
# Don't allow raw read/write/open access to block_device # Don't allow raw read/write/open access to block_device
# Rather force a relabel to a more specific type # Rather force a relabel to a more specific type
neverallow { domain -unconfineddomain -vold } block_device:blk_file { open read write }; neverallow { domain -kernel -init -recovery -vold } block_device:blk_file { open read write };
# Don't allow raw read/write/open access to generic devices. # Don't allow raw read/write/open access to generic devices.
# Rather force a relabel to a more specific type. # Rather force a relabel to a more specific type.
......
...@@ -9,6 +9,7 @@ allow init unlabeled:filesystem mount; ...@@ -9,6 +9,7 @@ allow init unlabeled:filesystem mount;
allow init self:capability { sys_rawio mknod }; allow init self:capability { sys_rawio mknod };
allow init dev_type:blk_file rw_file_perms;
allow init fs_type:filesystem *; allow init fs_type:filesystem *;
allow init {fs_type dev_type file_type}:dir_file_class_set relabelto; allow init {fs_type dev_type file_type}:dir_file_class_set relabelto;
allow init kernel:security load_policy; allow init kernel:security load_policy;
......
...@@ -21,3 +21,5 @@ allow kernel self:security setcheckreqprot; ...@@ -21,3 +21,5 @@ allow kernel self:security setcheckreqprot;
## TODO: Investigate whether it is safe to remove these ## TODO: Investigate whether it is safe to remove these
allow kernel self:capability { sys_rawio mknod }; allow kernel self:capability { sys_rawio mknod };
auditallow kernel self:capability { sys_rawio mknod }; auditallow kernel self:capability { sys_rawio mknod };
allow kernel dev_type:blk_file rw_file_perms;
auditallow kernel dev_type:blk_file rw_file_perms;
...@@ -10,6 +10,9 @@ allow recovery {fs_type dev_type -kmem_device file_type}:dir_file_class_set rela ...@@ -10,6 +10,9 @@ allow recovery {fs_type dev_type -kmem_device file_type}:dir_file_class_set rela
allow recovery unlabeled:filesystem mount; allow recovery unlabeled:filesystem mount;
allow recovery fs_type:filesystem *; allow recovery fs_type:filesystem *;
# Required to e.g. wipe userdata/cache.
allow recovery dev_type:blk_file rw_file_perms;
allow recovery self:process execmem; allow recovery self:process execmem;
allow recovery ashmem_device:chr_file execute; allow recovery ashmem_device:chr_file execute;
allow recovery tmpfs:file rx_file_perms; allow recovery tmpfs:file rx_file_perms;
......
...@@ -28,7 +28,7 @@ allow unconfineddomain domain:{ fifo_file file } rw_file_perms; ...@@ -28,7 +28,7 @@ allow unconfineddomain domain:{ fifo_file file } rw_file_perms;
allow unconfineddomain domain:socket_class_set *; allow unconfineddomain domain:socket_class_set *;
allow unconfineddomain domain:ipc_class_set *; allow unconfineddomain domain:ipc_class_set *;
allow unconfineddomain domain:key *; allow unconfineddomain domain:key *;
allow unconfineddomain {fs_type dev_type file_type}:{ dir blk_file lnk_file sock_file fifo_file } ~relabelto; allow unconfineddomain {fs_type dev_type file_type}:{ dir lnk_file sock_file fifo_file } ~relabelto;
allow unconfineddomain {fs_type -usermodehelper -proc_security}:{ chr_file file } ~{entrypoint execmod execute relabelto}; allow unconfineddomain {fs_type -usermodehelper -proc_security}:{ chr_file file } ~{entrypoint execmod execute relabelto};
allow unconfineddomain {dev_type -kmem_device}:{ chr_file file } ~{entrypoint execmod execute relabelto}; allow unconfineddomain {dev_type -kmem_device}:{ chr_file file } ~{entrypoint execmod execute relabelto};
allow unconfineddomain file_type:{ chr_file file } ~{entrypoint execmod execute relabelto}; allow unconfineddomain file_type:{ chr_file file } ~{entrypoint execmod execute relabelto};
......
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