Commit graph

4944 commits

Author SHA1 Message Date
Jeff Vander Stoep
4e7769e040 priv_app: use per-app selinux contexts
Enforce for priv-apps with targetSdkVersion>=31.

This is the same restriction enforced on third party apps with
targetSdkVersion>=28 in Android 9.0. See:
https://developer.android.com/about/versions/pie/android-9.0-changes-28#per-app-selinux

This change allows selinux to better enforce the application sandbox
providing better defense-in-depth for priv-apps.
In particular it prevents apps running in the priv_app domain
from sharing their private data directory by granting
world-accessible unix permissions.

Bug: 142672293
Test: Build, boot, check for denials.
Change-Id: If2953eb990fdc24aaccf29be3394a9ee1f02185c
2020-05-06 13:17:28 +02:00
Jeffrey Vander Stoep
8bb366731f Merge "mediaprovider: fixed sharedUserId bug" 2020-05-06 07:54:32 +00:00
Howard Chen
a6a7f103e4 Merge "Allow update_engine to get gsid property" 2020-05-06 06:44:09 +00:00
Suren Baghdasaryan
54d5669770 property_contexts: Add missing ro.lmk.swap_util_max property context
ro.lmk.swap_util_max property allows vendors to specify max swap
utilization for lmkd to consider.

Bug: 147315292
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: I1c126091766eddf6c680f0041077eb1aa422dfd2
2020-05-05 19:25:22 +00:00
Jeff Vander Stoep
fcf12fd723 mediaprovider: fixed sharedUserId bug
Apps signed with the media key share a UID (except
com.android.providers.media.module). However, some
run in the priv_app selinux context, and others run in
the mediaprovider context. That's a bug. Apps which share
a UID should always share an selinux domain. Assign all apps
with the seinfo=media to the mediaprovider selinux domain.

This moves the following packages from the priv_app to the
mediaprovider domain:
com.android.providers.downloads
com.android.providers.downloads.ui
com.android.mtp
com.android.soundpicker

Bug: 154614768
Test: atest CtsDownloadManagerApi28
Change-Id: I21bf68de525fff87c3a02aa59fba3a8d86be5324
2020-05-05 17:51:17 +00:00
Howard Chen
2a2278ee12 Allow update_engine to get gsid property
Allow the update_engine to use the gsid property and to avoid the VAB
merge when running a DSU.

Bug:147071959
Test: ota_e2etest.py

Change-Id: I40220877625453198b217e788e6b3bfab8437f24
2020-05-05 11:21:44 +08:00
Jeff Vander Stoep
aeebb9a42e Gboard: Whitelist test failure
This is intended to be temporary workaround until the Gboard
developers fix their app.

Addresses
avc: denied { bind } for comm="ThreadPoolForeg"
scontext=u:r:untrusted_app:s0:c166,c256,c512,c768
tcontext=u:r:untrusted_app:s0:c166,c256,c512,c768
tclass=netlink_route_socket permissive=
app=com.google.android.inputmethod.latin

Bug: 155595000
Test: build
Change-Id: I432ac1462329efb4bc118c3967a099833e6eb813
2020-05-04 08:53:49 +00:00
Inseob Kim
4f780e10ce Merge "Rename surfaceflinger properties' contexts" 2020-05-04 05:22:01 +00:00
Songchun Fan
9fdcbcd29b Define vendor-specific property ro.incremental.enable
[cherry-picking]

Make ro.incremental.enable a vendor-specific property. Allow
system_server and vold to read this property.

Test: manual
BUG: 155212902
Change-Id: I8ff8837af635fa8e7b5bb02e5f6de5ac15b5023b
Merged-In: I8ff8837af635fa8e7b5bb02e5f6de5ac15b5023b
2020-05-01 10:27:51 -07:00
Treehugger Robot
b2fa463c43 Merge "mediaserver, mediaextractor, drmserver: allow vendor_overlay_file" 2020-04-30 17:17:42 +00:00
Jeongik Cha
832a8a9389 mediaserver, mediaextractor, drmserver: allow vendor_overlay_file
MediaPlayer cannot load a video from RRO packages.
So, add allow rules which is necessary to play the video.

Bug: b/154795779
Test: check if MediaPlayer can load a video in RRO
Change-Id: I06eed146b6e70a548b6b4f4faf56ba2bccd68140
2020-04-29 11:52:45 +09:00
Inseob Kim
721d921aa5 Rename surfaceflinger properties' contexts
Cleaning up exported*_system_prop and moving surfaceflinger properties
to new property contexts.

Bug: 152468529
Bug: 154885206
Test: boot cf_x86 and crosshatch
Change-Id: I7f8a684e9cbabce2f55a5292d7b2283ac0716cd9
2020-04-29 10:43:06 +09:00
Vladimir Marko
ff21e32dd3 Merge "Add missing dalvik.vm properties." 2020-04-28 08:39:29 +00:00
Ioannis Ilkos
e597605e01 Merge "Enable tracing of the ion/ion_stat events" 2020-04-27 13:57:50 +00:00
Vladimir Marko
1062aa7d6c Add missing dalvik.vm properties.
Add missing properties identified by
  SRC=frameworks/native/cmds/installd/dexopt.cpp; \
  CTX=system/sepolicy/private/property_contexts; \
  for i in `grep -oE 'dalvik\.vm\.[^"]*' $SRC`; do \
    grep -qF "$i " $CTX || echo "$i"; \
  done

Test: aosp_taimen-userdebug boots.
Change-Id: I0678e0bfb1d50045ade37f504311ad39801f2135
2020-04-27 12:05:47 +01:00
Inseob Kim
4ed4737aaf Add boot_status_prop for boot completed props
Assigning a new context boot_status_prop for following two properties:
- sys.boot_completed
- dev.bootcomplete

Bug: 154885206
Test: boot cf_x86 and crosshatch, see no denials
Change-Id: Ieadabf90a9a1b54b52a1283bd648c11c95d558dd
Merged-In: Ieadabf90a9a1b54b52a1283bd648c11c95d558dd
(cherry picked from commit 2973c96055)
2020-04-27 15:34:53 +09:00
Ioannis Ilkos
2e03e77f0a Enable tracing of the ion/ion_stat events
These events supersede the ion_heap_grow / ion_heap_shrink events on
4.19+ kernels.

Bug: 154302786
Test: build, run on cuttlefish with new kernel, ls -lZ /sys/kernel/tracing/events/ion/ion_stat/enable
Change-Id: I262d8c3269d4261701361ad4b1bdc322f1f03969
2020-04-24 10:10:35 +01:00
Treehugger Robot
ca10be483b Merge "Add get_prop(domain, surfaceflinger_prop)" 2020-04-24 08:01:52 +00:00
Sundong Ahn
b2e82f4707 Add get_prop(domain, surfaceflinger_prop)
The ro.surface_flinger.* properties are using instead of configstore.
Add get_prop (domain, surfaceflinger_prop) to domain.te so that it can
be used on all systems in the same way as configstore.

Bug: 124531214
Test: read properties in java (ag/11226921)
Change-Id: Ifc8a53ea544c761d85e370e177913db91d8a33a2
2020-04-24 15:21:01 +09:00
Maciej Żenczykowski
7da6b5a351 Merge "property_contexts: Add ro.kernel.ebpf.supported" 2020-04-24 04:41:34 +00:00
Felix
0ee31c1aab property_contexts: Add ro.kernel.ebpf.supported
This prop allows vendors to specify whether their devices
have basic eBPF compatibility (ie. Linux kernel 4.9 with P VINTF).

Make it exported_default_prop because the shared library
libbpf_android is used in a lot of places.

See: https://r.android.com/1261922

Bug: 151753987
Signed-off-by: Felix <google@ix5.org>
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ifd9af558d84ea1619a6af7fce81b700fdfb22b9f
2020-04-24 01:34:28 +00:00
Jeffrey Vander Stoep
7bf9669a6c Merge "Revert "mediaprovider: fixed sharedUserId bug"" 2020-04-23 17:36:28 +00:00
Jeffrey Vander Stoep
3b9683ff53 Revert "mediaprovider: fixed sharedUserId bug"
This reverts commit 2498d1c46e.

Reason for revert: b/154825574

Change-Id: I20ad5efc26fe076fb98503f59673892c491a1293
2020-04-23 17:33:55 +00:00
Jeffrey Vander Stoep
1705c1e9fa Merge "mediaprovider: fixed sharedUserId bug" 2020-04-23 12:03:15 +00:00
Ashwini Oruganti
efc3bdb255 Fix typo: s/com.google.android.gfs/com.google.android.gsf
Bug: 154597032
Test: TH
Change-Id: Ia8de313a9573649c456568abb3a8190dc2960bc3
2020-04-22 10:22:45 -07:00
Jeff Vander Stoep
2498d1c46e mediaprovider: fixed sharedUserId bug
All apps signed with the media key share a UID. However,
some run in the priv_app selinux context, and others run
in the mediaprovider context. That's a bug. Apps which share
a UID should always share an selinux domain. Assign all apps
with the seinfo=media to the mediaprovider selinux domain.

This moves the following packages from the priv_app to the
mediaprovider domain:
com.android.providers.downloads
com.android.providers.downloads.ui
com.android.mtp
com.android.soundpicker

Bug: 154614768
Test: atest CtsDownloadManagerApi28
Change-Id: I6f96142ef03101568abed670a0e32f952515a590
2020-04-22 15:47:27 +02:00
Inseob Kim
0476c0a680 Merge "Rename exported_dalvik_prop to dalvik_config_prop" 2020-04-22 00:56:35 +00:00
Ashwini Oruganti
4a1630133d Route com.google.android.gsf to gmscore_app
com.google.android.gms and com.google.android.gsf have a sharedUserId
but were being routed to two different domains:

com.google.android.gms 10145 0 /data/user/0/com.google.android.gms google:privapp:targetSdkVersion=10000
com.google.android.gsf 10145 0 /data/user/0/com.google.android.gsf google:privapp:targetSdkVersion=10000

This change routes them to the same domain: gmscore_app

Bug: 154597032
Test: TH
Change-Id: I0a309a687eb8608604cabf65b58763a1a3262153
2020-04-21 09:29:08 -07:00
Inseob Kim
d8c39d9e56 Rename exported_dalvik_prop to dalvik_config_prop
This is to clean up bad name "exported_dalvik_prop"

Bug: 154465224
Test: sepolicy_tests
Test: treble_sepolicy_tests 26.0 ~ 29.0
Change-Id: Ie5e738b5985c1db1bca7a857971d8490a7980b5b
2020-04-20 19:37:34 +09:00
David Sehr
a1d78f908e Merge "Control use of dex2oat64 by device property" 2020-04-20 04:08:26 +00:00
David Sehr
80a1403c62 Control use of dex2oat64 by device property
Gate use of dex2oat64 by a device property.

Bug: 153380900
Test: atest -c  installd_dexopt_test
Change-Id: I640085b5cd744cdc4563f565f8a914f9b1adc3ab
2020-04-19 12:09:38 -07:00
Treehugger Robot
a545e89f75 Merge "Enable incidentd access to ro.boot.bootreason" 2020-04-17 22:34:44 +00:00
Treehugger Robot
0785c93fef Merge "Escape '.' in com.android.permission" 2020-04-17 20:50:46 +00:00
Rambo Wang
018214dd8e Merge "Add policy to allow EmergencyAffordanceService to dump state" 2020-04-17 15:19:54 +00:00
Martijn Coenen
c3917f0ea9 Merge "Add external_storage properties." 2020-04-16 08:06:53 +00:00
Treehugger Robot
68598f7ff4 Merge "sepolicy: clean up redundant rules around gpuservice" 2020-04-15 18:10:04 +00:00
Yiwei Zhang
3db5a3140f sepolicy: clean up redundant rules around gpuservice
Test: m selinux_policy
Change-Id: I67389253aa3c6071a553e123fa9883cbdb331614
2020-04-15 09:24:16 -07:00
Martijn Coenen
01234d371e Add external_storage properties.
Since these need to be set from a vendor context.

Bug: 152170470
Bug: 153525566
Test: N/A
Change-Id: I2e90ad08fa0a5bd2b4759d92f95d35cec2b316df
2020-04-15 17:30:41 +02:00
Treehugger Robot
e12775e350 Merge "sepolicy: Add a new property for aware iface" 2020-04-15 14:03:53 +00:00
Zim
85d87cfa6e Grant MediaProvider read file access on /mnt/pass_through
It already has read dir access, but was missing file access which
would allow it read /sdcard symlink (/mnt/pass_through/0/self/primary)

Test: adb shell am broadcast -a
android.intent.action.MEDIA_SCANNER_SCAN_FILE
--receiver-include-background -d file:///sdcard
Bug: 153151011

Change-Id: If4d3fa3d96de6dd9672c0c3aa25fb25f196fe295
2020-04-15 09:13:09 +01:00
Roshan Pius
49ff30da83 sepolicy: Add a new property for aware iface
Bug: 153852667
Test: Compiles
Change-Id: I696cd9334ecf5e947e0459910de258bf904eb520
2020-04-14 22:00:59 -07:00
Rambo Wang
25e527634a Add policy to allow EmergencyAffordanceService to dump state
Bug: 152506122
Test: adb shell dumpsys emergency_affordance
Change-Id: I4dcc227ba949a02a0393999c8065f8bd8b981959
2020-04-14 14:54:52 -07:00
Treehugger Robot
951106b990 Merge "Allow traced to create files within /data/misc/perfetto-traces" 2020-04-14 13:34:05 +00:00
Nikita Ioffe
bbdf8e4d95 Merge "Add init.userspace_reboot.started.timeoutmillis property" 2020-04-13 19:14:56 +00:00
Nikita Ioffe
7947d580e3 Add init.userspace_reboot.started.timeoutmillis property
This property controls how much userspace reboot watchdog will wait for
userspace reboot to start before falling back to hard reboot.

Test: builds
Bug: 152803929
Change-Id: I6955e8c94708e7e4161e4f334b03c052d42c0f9f
2020-04-11 02:00:01 +01:00
Ytai Ben-Tsvi
d107a05402 Allow system_server to set audio properties
Defined a new signal intended to allow the system to reboot
the audio/soundtrigger HAL process.

Fixes: 153461865
Test: See main change in topic
Change-Id: I1e4a770670bb1274fa6a23cd0641f2554d4679f7
2020-04-10 15:58:51 -07:00
Luca Stefani
ddcbbd7644 Escape '.' in com.android.permission
Change-Id: I83d7f81855b0facee3a07ad6fd2068e5e114db30
2020-04-10 19:22:50 +00:00
Wenjie Zhou
27d52551b1 Enable incidentd access to ro.boot.bootreason
incident report contains similar data as in a bugreport, but in proto
format.

Test: adb shell incident -p LOCAL 1000
Bug: 152173578
Change-Id: Iee53a3b8a6c95629a1d5c15b4d17f3d680b14178
2020-04-09 15:57:06 -07:00
Primiano Tucci
386d95b15f Allow traced to create files within /data/misc/perfetto-traces
Together with aosp/1282157 this change allows the service to
create trace files in the /data/misc/perfetto-traces folder.
Before this change they needed to be created by the perfetto
cmdline client and pass the FD.
This doesn't work for host tools like Android GPU Inspector
(https://gpuinspector.dev/) which talk to the UNIX socket
over adb forward and cannot pass a FD from the host.

Bug: 153519149
Test: manual: adb shell perfetto --txt -c -
  buffers { size_kb: 65536 }
  data_sources {
    config {
      name: "linux.ftrace"
      ftrace_config { ftrace_events: "sched_switch" }
    }
  }
  duration_ms: 5000
  write_into_file: true
  output_path: "/data/misc/perfetto-traces/ttt"

Change-Id: I184329805741654983843e6a29c1fac19a836f59
2020-04-08 19:44:53 +00:00
Inseob Kim
3f5a7d247a Rename exported and exported2 vold prop
This is a subtask to clean up bad context names "exported*_prop".

Bug: 152469526
Test: m
Change-Id: Ie2d4046732e9d6562294fa664dcd7f019aa7c229
2020-04-07 12:56:23 +09:00