Commit graph

23611 commits

Author SHA1 Message Date
Suren Baghdasaryan
d66fc4909f sepolicy: Allow lmkd to communicate with its other instance for reinit
Lmkd should implement reinit functionality and to do so it needs to
communicate with its running instance using socket.

Bug: 155149944
Test: lmkd --reinit
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: I81455fe187830081d88f001b4588f7607b1bd1d0
2020-05-07 15:42:24 +00:00
Jeffrey Vander Stoep
7047f515c6 Merge "priv_app: use per-app selinux contexts" 2020-05-07 07:26:38 +00:00
Tom Cherry
b5ac55a444 asan_extract: add system_file_type to asan_extract_exec
This is on the system partition and thus must be system_file_type:

neverallow check failed at out/target/product/vsoc_x86/obj_asan/ETC/userdebug_plat_sepolicy.cil_intermediates/userdebug_plat_sepolicy.cil.tmp:7703 from system/sepolicy/public/domain.te:950
  (neverallow coredomain base_typeattr_272 (file (entrypoint)))
      <root>
          allow at out/target/product/vsoc_x86/obj_asan/ETC/userdebug_plat_sepolicy.cil_intermediates/userdebug_plat_sepolicy.cil.tmp:16250
	        (allow asan_extract asan_extract_exec (file (read getattr map execute open entrypoint)))

Bug: 155905226
Test: build without above neverallow error
Change-Id: I6987582fcc013c95efe7e6758d96ec089168ea9d
2020-05-06 13:25:28 -07:00
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
Inseob Kim
c83029bee7 Merge "Remove redundant comments" 2020-05-06 09:56:38 +00:00
vichang
df7775d173 Merge ""Add shared library into i18n APEX and add the required sepolicy" Attempt 2" 2020-05-06 09:03:28 +00: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
Steve Muckle
73c62d3516 Merge "allow modprobe to read /proc/cmdline" 2020-05-06 00:38:40 +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
Tom Cherry
34ec1de351 Merge "Prevent transition to coredomain except for system files and vice versa" 2020-05-05 17:36:54 +00:00
Steve Muckle
e3788c93e5 allow modprobe to read /proc/cmdline
This is needed for libmodprobe to pass module options on the kernel
commandline to kernel modules when they are loaded.

Bug: 155422904
Change-Id: I9df7e211765268815bfb9269365264f5ca468712
2020-05-05 08:50:11 -07:00
Victor Chang
3ee68f59d6 "Add shared library into i18n APEX and add the required sepolicy" Attempt 2
The change was reverted due to a cause unrelated to sepolicy change.
It was submitted in https://r.android.com/1283724.
Now, submit this independent of the topic.

Bug: 138994281
Test: device boots
Change-Id: I9943abb814a8043f66545e7db5225adbd62d19d2
2020-05-05 16:36:51 +01:00
vichang
bdc32ce577 Merge "Revert "Add shared library into i18n APEX and add the required s..."" 2020-05-05 11:46:51 +00:00
vichang
016098f923 Revert "Add shared library into i18n APEX and add the required s..."
Revert "Make com_android_i18n namespace visible"

Revert submission 1299494-i18nApex

Reason for revert: Breaking aosp_x86-eng on aosp-master
Reverted Changes:
I30fc3735b:Move ICU from ART APEX to i18n APEX
Icb7e98b5c:Calling @IntraCoreApi from core-icu4j should not c...
Ic7de63fe3:Move core-icu4j into I18n APEX
I65b97bdba:Make com_android_i18n namespace visible
Ia4c83bc15:Move v8 and libpac into i18n APEX
I10e6d4948:Move core-icu4j into i18n APEX
I8d989cad7:Move ICU from ART APEX into i18n APEX
I72216ca12:Move ICU into i18n APEX
Ief9dace85:Add shared library into i18n APEX and add the requ...
I7d97a10ba:Move libpac into i18n APEX
I90fff9c55:Move ICU from ART APEX into i18n APEX

Change-Id: I863878038af1290611b441f7f9190494cf0851b8
2020-05-05 11:11:30 +00:00
vichang
c18f8052e9 Merge "Add shared library into i18n APEX and add the required sepolicy" 2020-05-05 08:52:21 +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
10230b9749 Merge "Define vendor-specific property ro.incremental.enable" 2020-05-02 19:55:43 +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
0785b6bfba Merge "allow media transcoding service to use activity service" 2020-05-01 17:04:19 +00:00
Treehugger Robot
b2fa463c43 Merge "mediaserver, mediaextractor, drmserver: allow vendor_overlay_file" 2020-04-30 17:17:42 +00:00
Tom Cherry
69fcac4c7e Prevent transition to coredomain except for system files and vice versa
Add a neverallow to prevent coredomain from accessing entrypoint for
files other than system_file_type and postinstall_file.  Add the
complementary neverallow to prevent domains other than coredomain from
accessing entrypoint for files other than vendor_file_type and
init_exec (for vendor_init).

Bug: 155124994
Test: build
Change-Id: I6e0cb7fb445b96b82e434e949b59c299aee1ad8b
2020-04-29 14:02:43 -07:00
Bob Badour
ffdc7e8415 Add METADATA to sepolicy: PublicDomain=UNENCUMBERED
Bug: 68860345
Bug: 69058154
Bug: 151953481

Test: no code changes
Change-Id: I88e8dcd0b23555f686b29781e545810efc5cafe7
2020-04-29 13:12:58 -07:00
Chong Zhang
f31e642494 allow media transcoding service to use activity service
Allow media transcoding service to get uid states from
activity manager for scheduling transcoding jobs.

bug: 145233472
bug: 154734285
test: mediatranscodingservice_tests (unit tests)
Change-Id: I96cfa52b323e9ae3841eca5519e9182347a5672b
2020-04-29 11:44:53 -07:00
Przemyslaw Szczepaniak
2ea9264ea3 Merge "Allow neuralnetworks hal service to read files from /sdcard" 2020-04-29 11:49:31 +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
Przemysław Szczepaniak
94be98073d Allow neuralnetworks hal service to read files from /sdcard
Bug: 138457453
Test: tflite nnapi benchmark app against /sdcard file
Change-Id: I368629f9177141d59eb5862cd29dd65da68d3ad7
2020-04-28 08:08:48 +00:00
Ioannis Ilkos
e597605e01 Merge "Enable tracing of the ion/ion_stat events" 2020-04-27 13:57:50 +00:00
Inseob Kim
479d0774e9 Remove redundant comments
These comments were added when public/property_contexts was introduced.
The main purpose was to categorize exported properties by accessibility
from vendor. Removing the comments as these are now obsolete and makes
confusion.

Bug: 71814576
Test: N/A
Change-Id: Ibc1c8eefcd68c79b90df82d227fe03f2c09da3a3
2020-04-27 21:28:08 +09: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
Petri Gynther
6866e41bc5 Merge "Allow adb shell user to collect vmstat" 2020-04-23 16:55:08 +00:00
Yiming Jing
b9c331e5ca Merge "Remove duplicate neverallow for hal_audio_server" 2020-04-23 15:37:37 +00:00
Jeffrey Vander Stoep
1705c1e9fa Merge "mediaprovider: fixed sharedUserId bug" 2020-04-23 12:03:15 +00:00
Petri Gynther
d517773b28 Allow adb shell user to collect vmstat
Test: adb shell vmstat 2 5
Change-Id: I6e93c4b5b29f38549f49f7f1ed0bd505613d648f
2020-04-22 20:46:01 -07:00
Treehugger Robot
e69064de52 Merge "Adding file group for vts_treble_sys_prop_test." 2020-04-23 02:59:56 +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