Skip to content
Snippets Groups Projects
Commit 639a2b84 authored by Jeff Vander Stoep's avatar Jeff Vander Stoep
Browse files

Add default label and mapping for vendor services

Adding the default label/mapping is important because:
1.  Lookups of services without an selinux label should generate
    a denial.
2.  In permissive mode, lookups of a service without a label should be
    be allowed, without the default label service manager disallows
    access.
3.  We can neverallow use of the default label.

Bug: 37762790
Test: Build and flash policy onto Marlin with unlabeled vendor services.
    Add/find of unlabeled vendor services generate a denial.

Change-Id: I66531deedc3f9b79616f5d0681c87ed66aca5b80
parent 8fed11ad
No related branches found
No related tags found
No related merge requests found
...@@ -424,18 +424,13 @@ neverallow * {fs_type -contextmount_type}:filesystem relabelto; ...@@ -424,18 +424,13 @@ neverallow * {fs_type -contextmount_type}:filesystem relabelto;
neverallow { domain -recovery } contextmount_type:dir_file_class_set neverallow { domain -recovery } contextmount_type:dir_file_class_set
{ create write setattr relabelfrom relabelto append unlink link rename }; { create write setattr relabelfrom relabelto append unlink link rename };
# Do not allow service_manager add for default_android_service. # Do not allow service_manager add for default service labels.
# Instead domains should use a more specific type such as # Instead domains should use a more specific type such as
# system_app_service rather than the generic type. # system_app_service rather than the generic type.
# New service_types are defined in service.te and new mappings # New service_types are defined in {,hw,vnd}service.te and new mappings
# from service name to service_type are defined in service_contexts. # from service name to service_type are defined in {,hw,vnd}service_contexts.
neverallow * default_android_service:service_manager add; neverallow * default_android_service:service_manager add;
neverallow * default_android_vndservice:service_manager { add find };
# Do not allow hwservice_manager add for default_android_hwservice.
# Instead domains should use a more specific type such as
# hal_audio_hwservice rather than the generic type.
# New service_types are defined in hwservice.te and new mappings
# from service name to service_type are defined in hwservice_contexts.
neverallow * default_android_hwservice:hwservice_manager { add find }; neverallow * default_android_hwservice:hwservice_manager { add find };
# Looking up the base class/interface of all HwBinder services is a bad idea. # Looking up the base class/interface of all HwBinder services is a bad idea.
......
type default_android_vndservice, vndservice_manager_type;
* u:object_r:default_android_vndservice:s0
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