- Mar 17, 2017
-
-
Alex Klyubin authored
This switches most remaining HALs to the _client/_server approach. To unblock efforts blocked on majority of HALs having to use this model, this change does not remove unnecessary rules from clients of these HALs. That work will be performed in follow-up commits. This commit only adds allow rules and thus does not break existing functionality. The HALs not yet on the _client/_server model after this commit are: * Allocator HAL, because it's non-trivial to declare all apps except isolated apps as clients of this HAL, which they are. * Boot HAL, because it's still on the non-attributized model and I'm waiting for update_engine folks to answer a couple of questions which will let me refactor the policy of this HAL. Test: mmm system/sepolicy Test: Device boots, no new denials Test: Device boots in recovery mode, no new denials Bug: 34170079 Change-Id: I03e6bcec2fa02f14bdf17d11f7367b62c68a14b9
-
- Mar 16, 2017
-
-
Mathias Agopian authored
Test: take a screenshot Test: run CTS ImageReaderTest Bug: 36194109 (cherry picked from commit 49ed0cd6) Change-Id: I331bce37b35e30084ba9f7ecd063a344a79c5232
-
Treehugger Robot authored
-
Treehugger Robot authored
-
Jaesoo Lee authored
This change defines new policy for modprobe (/sbin/modprobe) that should be used in both recovery and android mode. Denials: [ 16.986440] c0 437 audit: type=1400 audit(6138546.943:5): avc: denied { read } for pid=437 comm="modprobe" name="modules" dev="proc" ino=4026532405 scontext=u:object_r:modprobe:s0 tcontext=u:object_r:proc:s0 tclass=file permissive=1 [ 16.986521] c0 437 audit: type=1400 audit(6138546.943:6): avc: denied { open } for pid=437 comm="modprobe" path="/proc/modules" dev="proc" ino=4026532405 scontext=u:object_r:modprobe:s0 tcontext=u:object_r:proc:s0 tclass=file permissive=1 [ 16.986544] c0 437 audit: type=1400 audit(6138546.943:7): avc: denied { getattr } for pid=437 comm="modprobe" path="/proc/modules" dev="proc" ino=4026532405 scontext=u:object_r:modprobe:s0 tcontext=u:object_r:proc:s0 tclass=file permissive=1 Bug: 35633646 Test: Build and tested it works in sailfish recovery. The modprobe is invoked in init.rc (at the end of 'on init') with following command line exec u:r:modprobe:s0 -- /sbin/modprobe -a nilfs2 ftl Change-Id: Ie70be6f918bea6059f806e2eb38cd48229facafa
-
- Mar 15, 2017
-
-
Jiwen 'Steve' Cai authored
bufferhubd should be able to use sync fence fd from mediacodec; and mediacodec should be able to use a gralloc buffer fd from the bufferhubd. Bug: 32213311 Test: Ran exoplayer_demo and verify mediacodec can plumb buffer through bufferhub. Change-Id: Id175827c56c33890ecce33865b0b1167d872fc56
-
Yifan Hong authored
Test: no log spam for graphics allocator Test: dmesg | audit2allow does not show denial for hal_graphics_allocator_default Test: system is responsive after boot (because android.hardware.graphics.allocator@2.0::IAllocator getService() will not be blocked) Bug: 36220026 Change-Id: I3e103f88988fe4a94888e92ee8c5b1f27845ad9e
-
Jeff Vander Stoep authored
Policy intermediates are being placed in a seemingly random intermediates directories. Currently: out/target/product/marlin/obj_arm/SHARED_LIBRARIES/libsoftkeymaster_intermediates Instead, place intermediates in the sepolicy_intermediates dir. Test: intermediates now placed in: out/target/product/marlin/obj/ETC/sepolicy_intermediates Test: Marlin builds, no change to sepolicy on device. Bug: 36269118 Change-Id: Ib6e9d9033be4dc8db0cc66cb47d9dc35d38703fe
-
Treehugger Robot authored
-
Fyodor Kupolov authored
-
Alex Klyubin authored
This file is no longer needed because it was needed for supporting reloadable/dynamic SELinux policy which is no longer supported. Test: Clean build, flash, device boots without additional denials. Reboot to recovery works, no additional denials. Bug: 33642277 Change-Id: I7fffe2fd12f586ed9b3ae54e35d17abdebbe7bce
-
Treehugger Robot authored
-
Fyodor Kupolov authored
Untrusted apps should only access /data/preloads/media and demo directory. Bug: 36197686 Test: Verified retail mode. Checked non-privileged APK cannot access /data/preloads Change-Id: I8e9c21ff6aba799aa31bf06893cdf60dafc04446
-
Xin Li authored
Test: build Bug: 36229129 Change-Id: I0654ce44f344729b0bb1f8716afa151e134fdc6a
-
- Mar 14, 2017
-
-
Nick Kralevich authored
Allow run-as to transmit unix_stream_sockets from the shell user to Android apps. This is needed for Android Studio's profiling tool to allow communcation between apps and debugging tools which run as the shell user. Bug: 35672396 Test: Functionality was tested by shukang Test: policy compiles. Change-Id: I2cc2e4cd5b9071cbc7d6f6b5b0b71595fecb455e
-
Alex Klyubin authored
This switches Sensors HAL policy to the design which enables us to conditionally remove unnecessary rules from domains which are clients of Sensors HAL. Domains which are clients of Sensors HAL, such as system_server, are granted rules targeting hal_sensors only when the Sensors HAL runs in passthrough mode (i.e., inside the client's process). When the HAL runs in binderized mode (i.e., in another process/domain, with clients talking to the HAL over HwBinder IPC), rules targeting hal_sensors are not granted to client domains. Domains which offer a binderized implementation of Sensors HAL, such as hal_sensors_default domain, are always granted rules targeting hal_sensors. P. S. This commit also removes allow system_server sensors_device:chr_file rw_file_perms because this is device-specific and thus not needed in device-agnostic policy. The device-specific policy of the affected devices already has this rule. Test: Device boots, no new denials Test: adb shell dumpsys sensorservice lists tons of sensors Test: Proprietary sensors test app indicates that there are sensors and that the app can register to listen for updates for sensors and that such updates arrive to the app. Bug: 34170079 Change-Id: I61bf779070eabcb64ae73724d62b6e837319a668
-
Treehugger Robot authored
-
Jeff Vander Stoep authored
Only audio HAL may access audio driver. Only camera HAL may access camera driver. Test: aosp_marlin and aosp_bullhead policy builds. Note: neverallow rules are compile time assertions and do not change the on-device policy. Bug: 36185625 Change-Id: I1c9edf528080374f5f0d90d3c14d6c3b162484a3
-
Jeff Vander Stoep authored
Only HALs that manage networks need network capabilities and network sockets. Test: aosp_marlin and aosp_bullhead policy builds. Note: neverallow rules are compile time assertions and do not change the on-device policy. Bug: 36185625 Change-Id: Id64846eac24cf72ed91ce775cecb2c75f11b78df
-
- Mar 13, 2017
-
-
Alex Klyubin authored
This makes the build system, for TREBLE devices only, place plat_property_contexts under /system/etc/selinux and nonplat_property_contexts under /vendor/etc/selinux. For other devices these files are placed under /, same as before. This change was previously reverted because it affected the location of property_contexts in recovery. Now that we have separate tagets for recovery (see ec78c377), this change no longer affects is recovery. Test: *_property_contexts in correct locations when PRODUCT_FULL_TREBLE is set to true and when it is set to false. Test: cts-tradefed run singleCommand cts --skip-device-info \ --skip-preconditions --skip-connectivity-check \ --abi arm64-v8a --module CtsSecurityHostTestCases \ -t android.security.cts.SELinuxHostTest#testAospPropertyContexts This test was performed on bullhead (non A/B device) and sailfish (A/B device). Test: Clean build, flash, device boots with no additional denials. Rebooting to recovery, recovery boots fine with no denials. This test was performed on bullhead (non A/B device) and sailfish (A/B device). Bug: 36002573 (cherry picked from commit 4cb628a3) Change-Id: I0b145c58669fb31bc39d57f36eef1190425a8328
-
Alex Klyubin authored
This ensures that SELinux policy artifact needed by recovery at runtime have targets in this build script. This is to make recoveryimage/bootimage targets depend on these artifacts explicitly, which reduces the element of surprise. Moreover, this enables us to move non-recovery artifacts around without affecting recovery artifacts. Test: Clean build, flash, device boots just fine, no new denials. Reboot to recovery, recovery boots just fine, no denials. This was tested on bullhead (non A/B device) and sailfish (A/B device). Bug: 33642277 Change-Id: I3c494d9d7fec5c4f487d38964e572757fcf67f57
-
Josh Gao authored
Allows the following denials: avc: denied { use } for pid=9099 comm="mediacodec" path="/data/tombstones/tombstone_08" dev="sda35" ino=877473 scontext=u:r:mediacodec:s0 tcontext=u:r:tombstoned:s0 tclass=fd permissive=1 avc: denied { append } for pid=9099 comm="mediacodec" path="/data/tombstones/tombstone_08" dev="sda35" ino=877473 scontext=u:r:mediacodec:s0 tcontext=u:object_r:tombstone_data_file:s0 tclass=file permissive=1 Bug: http://b/36156624 Test: killall -ABRT media.codec Test: killall -ABRT media.extractor Change-Id: I3dde1879b44e3e63c747a3ff8dd4bf213cb8afb6
-
- Mar 11, 2017
-
-
Jeff Vander Stoep authored
Test: Build and boot Marlin Test: See the following in the logs: 01-01 02:10:28.756 1345 1345 D SELinuxMMAC: Using policy file /system/etc/selinux/plat_mac_permissions.xml 01-01 02:10:28.787 1345 1345 D SELinuxMMAC: Using policy file /vendor/etc/selinux/nonplat_mac_permissions.xml Bug: 36003167 Change-Id: If17490a2a5d94bfea1fa6d282282d45d67e207e9
-
- Mar 10, 2017
-
-
Jeff Vander Stoep authored
Build file_contexts.bin on legacy builds. Test: Marlin and Bullhead build and boot with no new denials. Test: Marlin and Bullhead recovery boots with no new denials. Test: Bullhead boots with file_contexts.bin in / Test: Marlin boot with /system/etc/selinux/plat_file_contexts and /vendor/etc/selinux/nonplat_file_contexts. Bug: 36002414 Change-Id: Ide8498b3c86234d2f93bb22a7514d132c33067d6
-
Alex Klyubin authored
Recovery should always use monolithic policy. Thus, we don't need split policy files *.recovery.cil. This commit removes these targets and rolls up the relevant parts of the targets into "sepolicy.recovery" which is the target which produces monolithic policy for recovery. Test: make clean && make sepolicy.recovery, then confirm that repolicy.recovery is identical to the one produced prior to this change. Test: Clean build, flash, device boots up fine, no new denials. Device also boots into recovery just fine, no denials. Bug: 31363362 Change-Id: I7f698abe1f17308f2f03f5ed1b727a8b071e94c7
-
Treehugger Robot authored
-
Alex Klyubin authored
This reverts commit 4cb628a3. Reason for revert: recovery image on marlin & sailfish no longer contained *property_contexts and thus recovery failed to boot. Test: Clean build, flash, sailfish and bullhead boot up just fine, and boot into recovery just fine. Bug: 36002573 Bug: 36108354 Change-Id: I2dffd80764f1a464327747d35a58691b24cff7a7
-
- Mar 09, 2017
-
-
Mikhail Naganov authored
The following HAL methods use file descriptors to write dump info comprising audioflinger debug dump: IDevice.debugDump IEffectsFactory.debugDump IStream.debugDump Bug: 36074936 Test: check contents of 'adb shell dumpsys media.audio_flinger' on -userdebug builds Change-Id: Ie2bec95c6b73c6f10941e2b0a95a25d6a7a6e4c1
-
Josh Gao authored
-
Jeff Vander Stoep authored
Test: Build and boot Marlin and Bullhead. Test: Contexts split between /system and /vendor on Marlin. Remains stored in / on Bullhead. Bug: 36002816 Bug: 36002427 Change-Id: I922bcbc0cc2c08e312cf942ee261951edfa8d4e2
-
- Mar 08, 2017
-
-
Alex Klyubin authored
This makes the build system, for TREBLE devices only, place plat_property_contexts under /system/etc/selinux and nonplat_property_contexts under /vendor/etc/selinux. For other devices these files are placed under /, same as before. Test: *_property_contexts in correct locations when PRODUCT_FULL_TREBLE is set to true and when it is set to false. Bug: 36002573 Change-Id: I7e30e64918bb3ee671fa8c7a2e30ed96a9cc1ad7
-
- Mar 07, 2017
-
-
Josh Gao authored
Let mediacodec and mediaextractor talk directly to tombstoned to generate tombstones/ANR traces. Bug: http://b/35858739 Test: debuggerd -b `pidof media.codec` Change-Id: I091be946d58907c5aa7a2fe23995597638adc896
-
Alex Klyubin authored
This adds build targets for outputing precompiled kernel policy usable on devices with policy split between system and vendor partitions. On such devices, precompiled policy must reside on the vendor partition. Because such devices support updating these partitions independently of each other, the precompiled policy must reference the system partition's policy against which it was compiled. This enables init to establish whether the precompiled policy is valid for the current combination of system and vendor partitions. The referencing is performed by both the system and vendor partitions including the SHA-256 digest of the system partition's policy (plat_sepolicy.cil). Only the when the digest is the same on both partitions can the precompiled policy be used. Test: plat_sepolicy.cil.sha256 contains exactly the hex form of the SHA-256 digest of plat_sepolicy.cil Test: plat_sepolicy.cil.sha256 is identical precompiled_sepolicy.plat.sha256. Bug: 31363362 Change-Id: I9771e1aa751e25bba6e2face37d68e0ae43b33a3
-
Jeff Vander Stoep authored
With the plat/nonplat policy split, nonplat_seapp_contexts should still be checked against the plat_seapp_contexts_neverallows during build time to ensure no violations occur. Test: stock aosp_marlin builds. Test: name=foo.bar seinfo=default fails (as expected) in nonplat policy Test: name=foo.bar seinfo="" fails (as expected) in nonplat policy Bug: 36002816 Change-Id: I95b2c695b23e2bdf420575d631e85391e93fc869
-
Yabin Cui authored
perf_event_max_sample_rate is needed to be read for native profiling, otherwise CTS test can fail on devices with kernel >= 4.4. Before this CL, the file is not readable from untrusted_app domain. This CL makes it readable from both shell domain and untrusted_app domain. Bug: http://b/35554543 Test: build and test on marlin. Change-Id: Id118e06e3c800b70a749ab112e07a4ec24bb5975
-
Calin Juravle authored
We simplified the way we track whether or not a dex file is used by other apps. DexManager in the framework keeps track of the data and we no longer need file markers on disk. Test: device boots, foreign dex markers are not created anymore Bug: 32871170 Change-Id: I464ed6b09439cf0342020ee07596f9aa8ae53b62
-
Roshan Pius authored
Note: The existing rules allowing socket communication will be removed once we migrate over to HIDL completely. (cherry-pick of 2a9595ed) Bug: 34603782 Test: Able to connect to wifi networks. Test: Will be sending for full wifi integration tests (go/wifi-test-request) Change-Id: I9ee238fd0017ec330f6eb67ef9049211f7bd4615
-
- Mar 06, 2017
-
-
Wei Wang authored
-