- Jan 24, 2017
-
-
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 20, 2017
-
-
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
-
- Jan 19, 2017
-
-
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
-
- Jan 18, 2017
-
-
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
-
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
-
- 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
-
- Jan 10, 2017
-
-
Andre Eisenbach authored
Bug: 31972505 Test: VTS test passes, Bluetooth starts/stops Change-Id: Ic068c9fca7c50e63c5b6e3d86a2ee6cc53207e08
-
- Dec 29, 2016
-
-
Ashutosh Joshi authored
Adding sepoilcy for sensors. Test: Sensors work. Change-Id: Ibbf0c1a22654a17b1573e3761ea9ccd816150255
-
- Dec 28, 2016
-
-
Ashutosh Joshi authored
Adding sepolicty for contexthub service. Test: GTS tests pass. Change-Id: I2576b8028d12a31151d7b7869679b853eb16c75e
-
- Dec 27, 2016
-
-
Alex Klyubin authored
ro.runtime.firstboot system property is only used internally by system_server to distinguish between first start after boot from consecutive starts (for example, this happens when full-disk encryption is enabled). The value of the property is a millisecond-precise timestamp which can help track individual device. Thus apps should not have access to this property. Test: Device boots fine, reading ro.runtime.firstboot from an app results in an error and SELinux denial. Bug: 33700679 Change-Id: I4c3c26a35c5dd840bced3a3e53d071f45317f63c
-
- Dec 22, 2016
-
-
Alex Klyubin authored
This restricts access to ro.serialno and ro.boot.serialno, the two system properties which contain the device's serial number, to a select few SELinux domains which need the access. In particular, this removes access to these properties from Android apps. Apps can access the serial number via the public android.os.Build API. System properties are not public API for apps. The reason for the restriction is that serial number is a globally unique identifier which cannot be reset by the user. Thus, it can be used as a super-cookie by apps. Apps need to wean themselves off of identifiers not resettable by the user. Test: Set up fresh GMS device, install some apps via Play, update some apps, use Chrome Test: Access the device via ADB (ADBD exposes serial number) Test: Enable MTP over USB, use mtp-detect to confirm that serial number is reported in MTP DeviceInfo Bug: 31402365 Bug: 33700679 Change-Id: I4713133b8d78dbc63d8272503e80cd2ffd63a2a7
-
Mikhail Naganov authored
Audio HAL server needs to set SCHED_FIFO scheduling policy for its threads that communicate with FastMixer threads of AudioFlinger that use the same scheduler. Bug: 30222631 Change-Id: I405a69d097a6bfed455e3483365b27c4004e1063
-
- Dec 14, 2016
-
-
Nick Kralevich authored
system/core commit 331cf2fb7c16b5b25064f8d2f00284105a9b413f created a number of new properties of the form: [ro.boottime.init]: [5294587604] [ro.boottime.InputEventFind]: [10278767840] [ro.boottime.adbd]: [8359267180] ... These properties were assigned the default_prop SELinux label because a better label did not exist. Properties labeled with the default_prop label are readable to any SELinux domain, which is overly broad. bullhead:/ $ getprop -Z ro.boottime.adbd u:object_r:default_prop:s0 Instead, create a new label for the ro.boottime.* properties so we can apply more fine grain read access control to these properties. bullhead:/ $ getprop -Z ro.boottime.adbd u:object_r:boottime_prop:s0 New SELinux property labels have minimal permissions by default. As a result, after this change, ro.boottime.* properties will only be readable to system_server, bootstat, init (because it manages the property space), and "adb root" (because no SELinux permissions are enforced there). Additional read access can be granted as-needed. This is part of a larger effort to implement fine-grain access control on the properties managed by init. Test: Device boots and no SELinux denials on boot. Change-Id: Ibf981cb81898f4356fdc5c1b6f15dd93c0d6d84d
-
- Dec 13, 2016
-
-
Connor O'Brien authored
Test: logging confirms service runs on boot Change-Id: If86fa7daf4a626b3e04fa0d2677d4cb590eb71ce Signed-off-by:
Connor O'Brien <connoro@google.com>
-
- Dec 12, 2016
-
-
Roshan Pius authored
We're going to be using Android framework directly to invoke Wifi HIDL calls. So, change permissions appropriately. Bug: 33398154 Test: Verfied that framework is able to make HIDL calls using go/aog/310610. Change-Id: I4d0d88961753ad73f3876aec58b26b89486cc02a
-
- Dec 09, 2016
-
-
Jeff Sharkey authored
After a series of recent commits, installd has fully migrated over to Binder, and all socket-based communication has been removed. Test: builds, boots, apps install fine, pre-OTA dexopt works Bug: 13758960, 30944031 Change-Id: Ia67b6260de58240d057c99b1bbd782b44376dfb5
-
- Dec 06, 2016
-
-
dcashman authored
In order to support platform changes without simultaneous updates from non-platform components, the platform and non-platform policies must be split. In order to provide a guarantee that policy written for non-platform objects continues to provide the same access, all types exposed to non-platform policy are versioned by converting them and the policy using them into attributes. This change performs that split, the subsequent versioning and also generates a mapping file to glue the different policy components together. Test: Device boots and runs. Bug: 31369363 Change-Id: Ibfd3eb077bd9b8e2ff3b2e6a0ca87e44d78b1317
-
- Dec 05, 2016
-
-
Jeff Sharkey authored
Most of this CL mirrors what we've already done for the "netd" Binder interface, while sorting a few lists alphabetically. Migrating installd to Binder will allow us to get rid of one of the few lingering text-based command protocols, improving system maintainability and security. Test: builds, boots Bug: 13758960, 30944031 Change-Id: I59b89f916fd12e22f9813ace6673be38314c97b7
-
- Dec 03, 2016
-
-
Ray Essick authored
media framework analytics are gathered in a separate service. define a context for this new service, allow various media-related services and libraries to access this new service. Bug: 30267133 Test: ran media CTS, watched for selinux denials. Change-Id: I5aa5aaa5aa9e82465b8024f87ed32d6ba4db35ca
-
- Dec 02, 2016
-
-
Jeff Sharkey authored
Historically we pushed all system_server SD card interactions through DefaultContainerService to avoid holding open FDs, but it's safe to measure disk usage for internal emulated storage when looking directly at /data/media, since there is no risk of unsafe ejection. These rule changes give us just enough access to measure statistics. avc: denied { getattr } for path="/data/media/0/DCIM/.thumbnails" dev="sda35" ino=589892 scontext=u:r:system_server:s0 tcontext=u:object_r:media_rw_data_file:s0:c512,c768 tclass=dir permissive=1 avc: denied { open } for path="/data/media/0/DCIM/.thumbnails" dev="sda35" ino=589892 scontext=u:r:system_server:s0 tcontext=u:object_r:media_rw_data_file:s0:c512,c768 tclass=dir permissive=1 avc: denied { read } for name="0" dev="sda35" ino=589827 scontext=u:r:system_server:s0 tcontext=u:object_r:media_rw_data_file:s0 tclass=dir permissive=1 Test: builds, boots, and access allowed Bug: 33298975 Change-Id: I9748608a5c1169d542e763c5a8f79c4f26f7a382
-
- Nov 26, 2016
-
-
Nick Kralevich authored
auditallow has been in place since Apr 2016 (f84b7981) and no SELinux denials have been generated / collected. Remove unused functionality. Test: Device boots with no problems. Test: no SELinux denials of this type collected. Bug: 28035297 Change-Id: I52414832abb5780a1645a4df723c6f0c758eb5e6
-
- Nov 14, 2016
-
-
Chia-I Wu authored
Allow SurfaceFlinger to call into IAllocator, and allow everyone to access IAllocator's fd. Specifically, hwbinder_use(...) for avc: denied { call } for scontext=u:r:hal_graphics_allocator:s0 tcontext=u:r:hwservicemanager:s0 tclass=binder permissive=1 avc: denied { transfer } for scontext=u:r:hal_graphics_allocator:s0 tcontext=u:r:hwservicemanager:s0 tclass=binder permissive=1 allow ... ion_device:chr_file r_file_perms for avc: denied { read } for name="ion" dev="tmpfs" ino=15014 scontext=u:r:hal_graphics_allocator:s0 tcontext=u:object_r:ion_device:s0 tclass=chr_file permissive=1 avc: denied { open } for path="/dev/ion" dev="tmpfs" ino=15014 scontext=u:r:hal_graphics_allocator:s0 tcontext=u:object_r:ion_device:s0 tclass=chr_file permissive=1 avc: denied { ioctl } for path="/dev/ion" dev="tmpfs" ino=15014 ioctlcmd=4900 scontext=u:r:hal_graphics_allocator:s0 tcontext=u:object_r:ion_device:s0 tclass=chr_file permissive=1 allow ... gpu_device:chr_file rw_file_perms; for avc: denied { read write } for name="kgsl-3d0" dev="tmpfs" ino=14956 scontext=u:r:hal_graphics_allocator:s0 tcontext=u:object_r:gpu_device:s0 tclass=chr_file permissive=1 avc: denied { open } for path="/dev/kgsl-3d0" dev="tmpfs" ino=14956 scontext=u:r:hal_graphics_allocator:s0 tcontext=u:object_r:gpu_device:s0 tclass=chr_file permissive=1 avc: denied { ioctl } for path="/dev/kgsl-3d0" dev="tmpfs" ino=14956 ioctlcmd=940 scontext=u:r:hal_graphics_allocator:s0 tcontext=u:object_r:gpu_device:s0 tclass=chr_file permissive=1 binder_call(surfaceflinger, ...) for avc: denied { call } for scontext=u:r:surfaceflinger:s0 tcontext=u:r:hal_graphics_allocator:s0 tclass=binder permissive=1 allow ... ...:fd use for avc: denied { use } for path="anon_inode:dmabuf" dev="anon_inodefs" ino=12794 scontext=u:r:surfaceflinger:s0 tcontext=u:r:hal_graphics_allocator:s0 tclass=fd permissive=1 Bug: 32021161 Test: make bootimage Change-Id: Ie7700142313407ac438c43dd1a85544dc4c67f13
-
- Nov 12, 2016
-
-
Chad Brubaker authored
Fixes: 32061937 Test: install/uninstall and verified no denials Change-Id: I487727b6b32b1a0fb06ce66ed6dd69db43c8d536
-
- Nov 11, 2016
-
-
Robert Sesek authored
The webview_zygote is a new unprivileged zygote and has its own sockets for listening to fork requests. However the webview_zygote does not run as root (though it does require certain capabilities) and only allows dyntransition to the isolated_app domain. Test: m Test: angler boots Bug: 21643067 Change-Id: I89a72ffe6dcb983c4a44048518efd7efb7ed8e83
-
- Nov 10, 2016
-
-
Jason Monk authored
Allow the system_server to change. Allow the zygote to read it as well. Test: Have system_server set a property Change-Id: Ie90eec8b733fa7193861026a3a6e0fb0ba5d5318
-
- Nov 08, 2016
-
-
Nick Kralevich authored
The underlying ioctl denial was fixed in device-specific policy. It's not needed in core policy. A search of SELinux denials shows no reported denials, other than the ones showing up on marlin. This reverts commit ec3285cd. (cherrypicked from commit 863ce3e7) Test: AndroiTS GPS Test app shows GPS data, no SELinux denials. Bug: 32290392 Change-Id: I1ba7bad43a2cdd7cdebbe1c8543a71eee765621d
-
Polina Bondarenko authored
Bug: 32022261 Test: manual Change-Id: I664a3b5c37f6a3a36e4e5beb91b384a9599c83f8
-
- Nov 04, 2016
-
-
dcashman authored
Bug: 32290392 Test: Builds. Change-Id: I46e8af202b41131cfc9bb280f04a214859c9b0de
-
- Nov 03, 2016
-
-
Ruchi Kandoi authored
Bug: 31180823 Test: reduced sepolicy errors Change-Id: Ibfba2efa903adec340e37abec2afb3b94a262678 Signed-off-by:
Ruchi Kandoi <kandoiruchi@google.com>
-
Ruchi Kandoi authored
Bug: 31177288 Test: reduced sepolicy errors Change-Id: I29556276ee14c341ac8f472875e6b69f903851ff Signed-off-by:
Ruchi Kandoi <kandoiruchi@google.com>
-
- Nov 01, 2016
-
-
Steven Moreland authored
Bug: 32022100 Test: end to end Change-Id: I5dd9b64c98a5c549fdaf9e47d5a92fa6963370c7
-
Felipe Leme authored
- Allow dumpstate to create the dumpservice service. - Allow System Server and Shell to find that service. - Don't allow anyone else to create that service. - Don't allow anyone else to find that service. BUG: 31636879 Test: manual verification Change-Id: I642fe873560a2b123e6bafde645467d45a5f5711
-
- Oct 29, 2016
-
-
Nick Kralevich authored
system_server is currently allowed write (but not open) access to various app file descriptor types, to allow it to perform write operations on file descriptors passed to it from Android processes. However, system_server was not allowed to handle file descriptors open only for append operations. Write operations are a superset of that allowed by appendable operations, so it makes no sense to deny system_server the use of appendable file descriptors. Allow it for app data types, as well as a few other types (for robustness). Addresses the following denial generated when adb bugreport is run: type=1400 audit(0.0:12): avc: denied { append } for path="/data/user_de/0/com.android.shell/files/bugreports/bugreport-MASTER-2016-10-29-08-13-50-dumpstate_log-6214.txt" dev="dm-2" ino=384984 scontext=u:r:system_server:s0 tcontext=u:object_r:shell_data_file:s0 tclass=file permissive=0 Bug: 32246161 Test: policy compiles Test: No more append denials when running adb shell am bug-report --progress Change-Id: Ia4e81cb0b3c3580fa9130952eedaed9cab3e8487
-
- Oct 26, 2016
-
-
Jeff Vander Stoep authored
Bug: 32123421 Test: build Hikey Change-Id: Iaf02626f3f3a94104c0f9d746c3cf5f20751a27d
-
- Oct 25, 2016
-
-
Connor O'Brien authored
Bug: 31864052 Test: Logging confirms service runs on boot Merged-In: I41e9e5c45d2d42886cdf7ff6d364e9e6e3df1ff4 Change-Id: I41e9e5c45d2d42886cdf7ff6d364e9e6e3df1ff4 Signed-off-by:
Connor O'Brien <connoro@google.com>
-
- Oct 21, 2016
-
-
Craig Donner authored
Test: built and ran on device. Bug: 31442830 Change-Id: Idd7870b4dd70eed8cd4dc55e292be39ff703edd2
-