- Jan 24, 2017
-
-
Steven Moreland authored
Allow update_verifier to load the boot_control_hal in passthrough mode. Test: update_verifier works, no denials Bug: 34656553 Change-Id: I5c20ce67c8f1fd195f2429dae497221514ed95a8
-
Steven Moreland authored
system_server needs the permissions to open the lights hal in the same process. Bug: 34634317 Test: can change brightness on marlin (tested on internal master) Change-Id: I11fe59b4ab32e13d6dad246f4e6c56951e051181
-
- Jan 23, 2017
-
-
Max Bires authored
This neverallow addition addresses the renaming of files in exploits in order to bypass denied permissions. An example of a similar use case of using mv to bypass permission denials appeared in a recent project zero ChromeOS exploit as one of the steps in the exploit chain. https://googleprojectzero.blogspot.com/2016/12/chrome-os-exploit-one-byte-overflow-and.html Additionally, vold and init both had permission sets that allowed them to rename, but neither of them seem to need it. Therefore the rename permission has also been removed from these two .te files. Test: The device boots successfully Change-Id: I07bbb58f058bf050f269b083e836c2c9a5bbad80
-
Josh Gao authored
auditallow this until we track down where the file is opened without O_APPEND. 01-23 08:02:12.272 555 555 W tombstoned: type=1400 audit(0.0:11480): avc: denied { write } for path="/data/anr/traces.txt" dev="sda35" ino=4669445 scontext=u:r:tombstoned:s0 tcontext=u:object_r:anr_data_file:s0 tclass=file permissive=0 Bug: http://b/34193533 Test: mma Change-Id: I77b854dce06231232004432839ebd5aa963ef035
-
Clara Bayarri authored
Merged-In: Id2b849d7fa22989225066ebe487fc98d319743ea Bug: 34190490 Test: CTS in internal master Change-Id: I27ab62469f3a405c59eda1a2a249899e845bed56
-
- Jan 20, 2017
-
-
Steven Moreland authored
In order to dump hardware services using dumpsys, dumpsys needs to be able to talk to the hwservicemanager. Bug: 33382892 Test: dumpsys --hw works from unrooted shell Change-Id: I31f0982193991428da465507f93d50646cb38726
-
Alex Klyubin authored
In my commit f41d89eb I forgot to switch rild and gatekeeperd rules from explicitly associating these domains with the hal_telephony and hal_gatekeeper to using the hal_impl_domain macro. As a result, the recent commit a2519226 inadvertently revoked HwBinder access from rild and gatekeeperd. This commit fixes the issue by switching rild and gatekeeperd to the hal_impl_domain macro. Test: "sepolicy-analyze out/target/product/bullhead/root/sepolicy attribute haldomain" now lists rild and gatekeeperd Test: "sepolicy-analyze out/target/product/bullhead/root/sepolicy attribute hal_telephony" still lists rild Test: "sepolicy-analyze out/target/product/bullhead/root/sepolicy attribute hal_gatekeeper" still lists gatekeeperd Bug: 34180936 Bug: 34470443 Change-Id: I7949556f58c36811205d5ea3ee78ea5708e95b45
-
Josh Gao authored
Fix the following denial: tombstoned: type=1400 audit(0.0:563): avc: denied { append } for path="/data/anr/traces.txt" dev="sda35" ino=679941 scontext=u:r:tombstoned:s0 tcontext=u:object_r:anr_data_file:s0 tclass=file permissive=0 Bug: http://b/34472671 Test: mma Change-Id: Iab5fbaf50888aa0f195841cb7e718ff393e526dd
-
Alex Klyubin authored
Test: No change to SELinux policy Change-Id: I45d6d6ab0538b9d4768b922cfdc2c972272d0b18
-
William Roberts authored
wificond_service is not a system_server service, so drop the typeattribute. Provide find permission for system_server so it can still call wificond. Test: compile and run on emulator. Also check built policy to verify the permissions changes are as expected. system_server should have lost the add permissions on wificond_service. Most importantly this needs to be tested on a device with wificond. Change-Id: I6dd655a5ac1dbfef809b8759a86429557a7c1207 Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
Nick Kralevich authored
As of https://android-review.googlesource.com/324092, ephemeral_app is now an appdomain, so places where both appdomain and ephemeral_app are granted the same set of rules can be deleted. Test: policy compiles. Change-Id: Ideee710ea47af7303e5eb3af1331653afa698415
-
Nick Kralevich authored
wificond is a system_server service used by wifi, wifi doesnt start now This reverts commit b68a0149. Change-Id: If958c852e5d8adf8e8d82346554d2d6b3e8306c9
-
Steven Moreland authored
/sys/class/leds is the standard location for linux files dealing with leds, however the exact contents of this directory is non-standard (hence the need for a hal). Bug: 32022100 Test: compiles and works for the subset of common files Change-Id: I7571d7267d5ed531c4cf95599d5f2acc22287ef4
-
- Jan 19, 2017
-
-
William Roberts authored
wificond_service is not a system_server service, so drop the typeattribute. Test: compile Change-Id: Ic212dd2c8bc897fbdc13ca33a9864ac8d4e68732 Signed-off-by:
William Roberts <william.c.roberts@intel.com>
-
Jim Miller authored
This fixes a bug introduced in the HIDL port where fingerprint no longer notifies keystore of authentications. Test: keyguard, FingerprintDialog Fixes bug 34200870 Change-Id: I8b1aef9469ff4f4218573a6cde4c3a151512c226
-
Chad Brubaker authored
Ephemeral apps cannot open files from external storage, but can be given access to files via the file picker. Test: ACTION_OPEN_DOCUMENTS from an ephemeral app returns a readable fd. Change-Id: Ie21b64a9633eff258be254b9cd86f282db1509e8
-
Chad Brubaker authored
Ephemeral apps are still apps with very similar capabilities, it makes more sense to have them under appdomain and benefit from the shared state (and all the neverallow rules) than to try and dupplicate them and keep them in sync. This is an initial move, there are parts of ephemeral_app that still need to be locked down further and some parts of appdomain that should be pushed down into the various app domains. Test: Builds, ephemeral apps work without denials. Change-Id: I1526b2c2aa783a91fbf6543ac7f6d0d9906d70af
-
Josh Gao authored
Bug: http://b/30705528 Bug: http://b/34450704 Test: mma Change-Id: I315a52411232b6ff38d014a2e0fadb0bcfbc1f3f
-
Max Bires authored
After checking the auditallow logs for the rule being monitored, it's clear that the rule is not in use and can be removed. All unused rules should be removed, as they present needless additional attack vectors. Test: The device boots. Change-Id: Ie9e060c4d134212e01309a536ac052851e408320
-
- Jan 18, 2017
-
-
Max Bires authored
There were some auditallow rules left around in rild.te that had logs showing nothing was triggering them. Thus the rules they were auditing could be removed, as that's clear indication there's no use for them. Having rules around that aren't being used does nothing except increase attack surface and bloat sepolicy, and so should always be removed if possible. Test: The device boots Change-Id: I906ffc493807fbae90593548d478643cda4864eb
-
mukesh agrawal authored
Revise policy, to allow init and system_server to configure, clear, and read kernel trace events. This will enable us to debug certain WiFi failures. Note that system_server is restricted to only accessing a wifi-specific trace instance. (Hence, system_server is not allowed to interfere with atrace.) Moreover, even for the wifi trace instance, system_server is granted limited permissions. (system_server can not, e.g., change which events are traced.) Note also that init and system_server are only granted these powers on userdebug or eng builds. The init.te and system_server.te changes resolve the following denials: // Denials when wifi-events.rc configures tracing { write } for pid=1 comm="init" name="instances" dev="debugfs" ino=755 scontext=u:r:init:s0 tcontext=u:object_r:debugfs_tracing_instances:s0 tclass=dir permissive=1 { add_name } for pid=1 comm="init" name="wifi" scontext=u:r:init:s0 tcontext=u:object_r:debugfs_tracing_instances:s0 tclass=dir permissive=1 { create } for pid=1 comm="init" name="wifi" scontext=u:r:init:s0 tcontext=u:object_r:debugfs_tracing_instances:s0 tclass=dir permissive=1 { write } for pid=1 comm="init" name="tracing_on" dev="debugfs" ino=18067 scontext=u:r:init:s0 tcontext=u:object_r:debugfs_wifi_tracing:s0 tclass=file permissive=1 { write } for pid=1 comm="init" name="buffer_size_kb" dev="debugfs" ino=18061 scontext=u:r:init:s0 tcontext=u:object_r:debugfs_tracing_instances:s0 tclass=file permissive=1 // Denials when system_server sets up fail-safe // (auto-terminate tracing if system_server dies) { search } for pid=882 comm="system_server" name="instances" dev="debugfs" ino=755 scontext=u:r:system_server:s0 tcontext=u:object_r:debugfs_tracing_instances:s0 tclass=dir permissive=1 { read } for pid=882 comm="system_server" name="free_buffer" dev="debugfs" ino=18063 scontext=u:r:system_server:s0 tcontext=u:object_r:debugfs_wifi_tracing:s0 tclass=file permissive=1 { open } for pid=882 comm="system_server" path="/sys/kernel/debug/tracing/instances/wifi/free_buffer" dev="debugfs" ino=18063 scontext=u:r:system_server:s0 tcontext=u:object_r:debugfs_wifi_tracing:s0 tclass=file permissive=1 { getattr } for pid=882 comm="system_server" path="/sys/kernel/debug/tracing/instances/wifi/free_buffer" dev="debugfs" ino=18063 scontext=u:r:system_server:s0 tcontext=u:object_r:debugfs_wifi_tracing:s0 tclass=file permissive=1 // Denials when system_server toggles tracing on or off // (WifiStateMachine is a thread in system_server) { search } for pid=989 comm="WifiStateMachin" name="instances" dev="debugfs" ino=755 scontext=u:r:system_server:s0 tcontext=u:object_r:debugfs_tracing_instances:s0 tclass=dir permissive=1 { write } for pid=989 comm="WifiStateMachin" name="tracing_on" dev="debugfs" ino=18067 scontext=u:r:system_server:s0 tcontext=u:object_r:debugfs_wifi_tracing:s0 tclass=file permissive=1 { open } for pid=989 comm="WifiStateMachin" path="/sys/kernel/debug/tracing/instances/wifi/tracing_on" dev="debugfs" ino=18067 scontext=u:r:system_server:s0 tcontext=u:object_r:debugfs_wifi_tracing:s0 tclass=file permissive=1 { getattr } for pid=989 comm="WifiStateMachin" path="/sys/kernel/debug/tracing/instances/wifi/tracing_on" dev="debugfs" ino=18067 scontext=u:r:system_server:s0 tcontext=u:object_r:debugfs_wifi_tracing:s0 tclass=file permissive=1 { write } for pid=989 comm="WifiStateMachin" name="tracing_on" dev="debugfs" ino=18067 scontext=u:r:system_server:s0 tcontext=u:object_r:debugfs_wifi_tracing:s0 tclass=file permissive=1 { open } for pid=989 comm="WifiStateMachin" path="/sys/kernel/debug/tracing/instances/wifi/tracing_on" dev="debugfs" ino=18067 scontext=u:r:system_server:s0 tcontext=u:object_r:debugfs_wifi_tracing:s0 tclass=file permissive=1 { getattr } for pid=989 comm="WifiStateMachin" path="/sys/kernel/debug/tracing/instances/wifi/tracing_on" dev="debugfs" ino=18067 scontext=u:r:system_server:s0 tcontext=u:object_r:debugfs_wifi_tracing:s0 tclass=file permissive=1 // Denials when system_server reads the event trace // (This happens in response to a dumpsys request) { search } for pid=3537 comm="Binder:882_B" name="instances" dev="debugfs" ino=755 scontext=u:r:system_server:s0 tcontext=u:object_r:debugfs_tracing_instances:s0 tclass=dir permissive=1 { read } for pid=3537 comm="Binder:882_B" name="trace" dev="debugfs" ino=18059 scontext=u:r:system_server:s0 tcontext=u:object_r:debugfs_wifi_tracing:s0 tclass=file permissive=1 { open } for pid=3537 comm="Binder:882_B" path="/sys/kernel/debug/tracing/instances/wifi/trace" dev="debugfs" ino=18059 scontext=u:r:system_server:s0 tcontext=u:object_r:debugfs_wifi_tracing:s0 tclass=file permissive=1 { getattr } for pid=3537 comm="Binder:882_B" path="/sys/kernel/debug/tracing/instances/wifi/trace" dev="debugfs" ino=18059 scontext=u:r:system_server:s0 tcontext=u:object_r:debugfs_wifi_tracing:s0 tclass=file permissive=1 { write } for pid=3537 comm="Binder:882_B" name="trace" dev="debugfs" ino=18059 scontext=u:r:system_server:s0 tcontext=u:object_r:debugfs_wifi_tracing:s0 tclass=file permissive=1 Bug: 27254565 Test: manual Manual test: - Build this CL along with CL:322337 - Verify that system boots, and that we can connect to GoogleGuest. (Testing of actual trace functionality with require some more patches in frameworks/opt/net/wifi.) $ adb root && adb shell dmesg | egrep 'avc: denied.+debugfs' Change-Id: Ib6eb4116549277f85bd510d25fb30200f1752f4d
-
Josh Gao authored
Replace the global debuggerd with a per-process debugging helper that gets exec'ed by the process that crashed. Bug: http://b/30705528 Test: crasher/crasher64, `debuggerd <pid>`, `kill -ABRT <pid>` Change-Id: Iad1b7478f7a4e2690720db4b066417d8b66834ed
-
Eino-Ville Talvala authored
- Allow cameraservice to talk to hwbinder, hwservicemanager - Allow hal_camera to talk to the same interfaces as cameraservice Test: Compiles, confirmed that cameraservice can call hwservicemanager Bug: 32991422 Change-Id: Ied0a3f5f7149e29c468a13887510c78d555dcb2a
-
Jin Qian authored
New procfs file read by storaged to dump fg/bg IO usage. Remove kmsg rule since it's no longer used by storaged. Allow storaged to find permission_service to translate UID to package name. Test: adb shell storaged -u Bug: 34198239 Change-Id: I74654662c75571cbe166cf2b8cbab84828218cbd
-
Steven Moreland authored
All hals need to use hwbinder. Test: no additional denials Bug: 34180936 Change-Id: Ie92cdbd79fc75062c4afa4cda53cb57ccde7e370
-
Daichi Hirono authored
Previously we published appfuse mount points to apps and apps open appfuse file by themselves. We changed the design and we don't allow apps to access appfuse mount point. Instead system server opens a file on appfuse mount points and passes FD to apps. The change updates apps and system server policies to adopt new design. Bug: 29970149 Test: None Change-Id: I0b35fee9816f61565705eecb88a472754ccffdca
-
Jeff Sharkey authored
New procfs file written by the system_server to communicate fg/bg state of UIDs to switch the statistics counter sets used. avc: denied { write } for name="set" dev="proc" ino=4026531862 scontext=u:r:system_server:s0 tcontext=u:object_r:proc:s0 tclass=file permissive=1 Test: builds, boots, counter sets updated Bug: 34360629 Change-Id: I2efbfbba9e73f50ce50a80a3dffd3b14fa55c048
-
Alex Klyubin authored
This improves readability and consistency for HAL implementation domains which have only one implementation. Test: No change to policy according to sesearch Test: No change to which types are associated with haldomain according to "sepolicy-analyze <sepolicy file> attribute haldomain" Bug: 34180936 Change-Id: Ice599ea4971cdfbd8b835b1fd02ad1e14c7a0386
-
- Jan 17, 2017
-
-
Alex Klyubin authored
This marks all HAL domain implementations with the haldomain attribute so that rules can be written which apply to all HAL implementations. This follows the pattern used for appdomain, netdomain and bluetoothdomain. Test: No change to policy according to sesearch. Bug: 34180936 Change-Id: I0cfe599b0d49feed36538503c226dfce41eb65f6
-
Mikhail Naganov authored
This is to ensure that hal_audio can access memory shared by audioserver. Bug: 34261005 Change-Id: I84103b0d4692fd10afc56846fb116fec6a7b3dc7
-
- Jan 13, 2017
-
-
Jim Miller authored
Move from fingerprintd to new fingerprint_hal and update SeLinux policy. Test: Boot with no errors related to fingerprint sepolicy Bug: 33199080 Change-Id: Idfde0cb0530e75e705033042f64f3040f6df22d6
-
Hridya Valsaraju authored
The following are the avc denials that are addressed: avc: denied { call } for pid=889 comm="system_server" scontext=u:r:system_server:s0 tcontext=u:r:hal_gnss_default:s0 tclass=binder permissive=0 avc: denied { call } for scontext=u:r:hal_gnss_default:s0 tcontext=u:r:system_server:s0 tclass=binder permissive=0 avc: denied { read } for name="hw" dev="mmcblk0p43" ino=1837 scontext=u:r:hal_gnss_default:s0 tcontext=u:object_r:system_file:s0 tclass=dir permissive=0 avc: denied { open } for path="/system/lib64/hw" dev="mmcblk0p43" ino=1837 scontext=u:r:hal_gnss_default:s0 tcontext=u:object_r:system_file:s0 tclass=dir permissive=0 Bug:31974439 Test: Checked that there no more related avc denial messages related to the GNSS HAL in dmesg. Change-Id: I5b43dc088017a5568dd8e442726d2bf52e95b1d5
-
Max Bires authored
It seems likely that there is no reason to keep around a number of devices that are configured to be included into the pixel kernels. Init and ueventd should be the only processes with r/w access to these devices, so auditallow rules have been added to ensure that they aren't actually used. /dev/keychord was given its own type since it's one of the few character devices that's actually legitimately used and would cause log spam in the auditallow otherwise. Bug: 33347297 Test: The phone boots without any apparent log spam. Change-Id: I3dd9557df8a9218b8c802e33ff549d15849216fb
-
- Jan 12, 2017
-
-
Myles Watson authored
Test: run a gtest in /data/nativetest/ with no permission denial Change-Id: Id644ed7dbea59becaf84b6073c9144711ad07c10
-
Sandeep Patil authored
Bug: 34231014 Test: Boot angler to ensure no additional denials are reported. Change-Id: Ic2372d55f7072c65e7ea17036a8eb40dc531d60e Signed-off-by:
Sandeep Patil <sspatil@google.com>
-
- Jan 11, 2017
-
-
Josh Gao authored
Bug: http://b/34228376 Test: m Change-Id: I1321ada1521bb3e3fd08105f1a41d519ee486683
-
Jeff Sharkey authored
Test: builds Bug: 32206268 Change-Id: I236105b029178f96da519c2295c66c686dcae7cb
-
- Jan 10, 2017
-
-
Andre Eisenbach authored
Bug: 31972505 Test: VTS test passes, Bluetooth starts/stops Change-Id: Ic068c9fca7c50e63c5b6e3d86a2ee6cc53207e08
-
Mikhail Naganov authored
Bug: 30222631 Change-Id: I30ad019872881e21f61a53e4397112ea0e99688b
-
- Jan 09, 2017
-
-
Alex Klyubin authored
This leaves only the existence of ephemeral_app domain as public API. All other rules are implementation details of this domain's policy and are thus now private. There are a few rules, defined by other domains' files remaining in the public policy until the rules from these domains also move to the private policy: allow ephemeral_app_current appdomain:binder transfer; allow ephemeral_app_current audioserver_current:binder transfer; allow ephemeral_app_current drmserver_current:binder transfer; allow ephemeral_app_current dumpstate_current:binder transfer; allow ephemeral_app_current mediaserver_current:binder transfer; allow ephemeral_app_current surfaceflinger_current:binder transfer; allow ephemeral_app_current system_server_current:binder transfer; Test: No change to policy according to sesearch, except for disappearance of all allow rules from platform_app_current attribute (as expected). Bug: 31364497 Change-Id: I98687181434a98a141469ef676c461fcd1db2d4e
-