blob: 08a8bafa8bbd4c6e5be2081a6e611e5a4a928b1d [file] [log] [blame]
Jaihind Yadav07a60772018-10-11 18:14:10 +05301# Copyright (c) 2018, The Linux Foundation. All rights reserved.
2#
3# Redistribution and use in source and binary forms, with or without
4# modification, are permitted provided that the following conditions are
5# met:
6# * Redistributions of source code must retain the above copyright
7# notice, this list of conditions and the following disclaimer.
8# * Redistributions in binary form must reproduce the above
9# copyright notice, this list of conditions and the following
10# disclaimer in the documentation and/or other materials provided
11# with the distribution.
12# * Neither the name of The Linux Foundation nor the names of its
13# contributors may be used to endorse or promote products derived
14# from this software without specific prior written permission.
15#
16# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
17# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
19# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
20# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
23# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
24# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
25# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
26# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27# Policy for pm-service and pm-proxy
28type vendor_per_mgr, domain;
29type vendor_per_mgr_exec, exec_type, vendor_file_type, file_type;
30
31init_daemon_domain(vendor_per_mgr);
32
33add_service(vendor_per_mgr, vendor_per_mgr_service)
34
35vndbinder_use(vendor_per_mgr)
36binder_call(vendor_per_mgr, hal_gnss)
37binder_call(vendor_per_mgr, vendor_per_proxy)
Jaihind Yadav9d9631c2019-12-09 11:59:48 +053038binder_call(vendor_per_mgr, vendor_wcnss_service)
Jaihind Yadav07a60772018-10-11 18:14:10 +053039binder_call(vendor_per_mgr, rild)
40
41allow vendor_per_mgr self:capability net_bind_service;
42
43allow vendor_per_mgr firmware_file:file r_file_perms;
44allow vendor_per_mgr firmware_file:dir search;
45
46allow vendor_per_mgr self:socket create_socket_perms;
47allowxperm vendor_per_mgr self:socket ioctl msm_sock_ipc_ioctls;
Jaihind Yadav9d9631c2019-12-09 11:59:48 +053048allow vendor_per_mgr vendor_ssr_device:chr_file { open read };
Jaihind Yadav07a60772018-10-11 18:14:10 +053049
Jaihind Yadav07a60772018-10-11 18:14:10 +053050# Needed by libmdmdetect to get subsystem info and to check their states
Jaihind Yadav9d9631c2019-12-09 11:59:48 +053051allow vendor_per_mgr vendor_sysfs_data:file r_file_perms;
Jaihind Yadav07a60772018-10-11 18:14:10 +053052
53# Set the peripheral state property
54set_prop(vendor_per_mgr, vendor_per_mgr_state_prop);