Commit graph

35464 commits

Author SHA1 Message Date
Eric Biggers
a77c2963e9 Merge "zygote.te: clean up and tighten app data isolation rules" 2022-04-28 17:51:53 +00:00
Treehugger Robot
4fe6bd16f3 Merge "Revert "Fix bootchart on android12"" 2022-04-28 15:52:46 +00:00
Treehugger Robot
8594b156af Merge "Prevent sandbox executing from sdk_sandbox_data_file" 2022-04-28 06:28:08 +00:00
Eric Biggers
9f07ea5442 zygote.te: clean up and tighten app data isolation rules
Group together the rules for setting up app data isolation and get all
the comments up-to-date.  Also remove some parts that aren't needed:

- 'allow zygote mnt_expand_file:dir mounton;' -- not needed.  It might
  have been thought that this was needed for mounting tmpfs on
  /mnt/expand/$volume/user{,_de}, but those have type system_data_file.

- 'allow zygote mnt_expand_file:dir relabelto;' -- not needed, as
  nothing is ever relabeled to this type.

- 'allow zygote media_rw_data_file:dir getattr;' -- not needed to create
  bind mounts.  The similar rules for user_profile_* don't include this.

- 'allow zygote mirror_data_file:dir r_dir_perms;' -- tighten to just
  the required search permission.

- 'allow zygote system_data_file:dir getattr;' -- redundant with 'allow
  zygote system_data_file:dir r_dir_perms;', and not needed for the
  stated reason of "Get inode of directories for app data isolation".

Test: booted Cuttlefish, no denials seen.
Change-Id: Id77b8c81625fd785a5d0d88c37d7c85b8fff7244
2022-04-27 21:59:27 +00:00
Eric Biggers
74e65cb878 Merge "toolbox.te: remove unneeded FS_IOC_FS[GS]ETXATTR permission" 2022-04-27 19:24:57 +00:00
Shiwangi Shah
bb270f64c9 Merge "Add ephemeral service access to sdk sandbox" 2022-04-27 14:35:54 +00:00
Shiwangi Shah
48b2b33844 Add ephemeral service access to sdk sandbox
Add some services ephemeral service has access to.
We will steadily restrict this list further based on
testing and requirements for rubidium.

Test: Manual
Bug: b/227745962
Bug: b/227581095

Change-Id: If7bcb8b8de62d408bd4af848b43abca853c93758
2022-04-27 09:21:02 +00:00
Eric Biggers
52238a1e0c toolbox.te: remove unneeded FS_IOC_FS[GS]ETXATTR permission
These ioctls don't need to be allowed, as they'd only be needed to set
project quota IDs.  But this is only done by other domains (installd,
vold, and mediaprovider_app).  Probably it was originally planned for an
init script to run 'chattr -p ID', but this didn't end up happening.

This is a basically revert of commit 4de3228c46 ("Allow toolbox to set
project quota IDs.") (https://r.android.com/1224007).

Also remove an outdated comment at the top of the file.

Test: booted Cuttlefish, no denials seen.
Change-Id: If61179a35f419c6cbfcf1432a86b2c1375db71ed
2022-04-27 03:45:36 +00:00
Sal Savage
9f3d766633 Merge "Update LE Audio profile names to be in line with spec and implementation" 2022-04-26 21:21:52 +00:00
Jooyung Han
613519f7c8 Revert "Fix bootchart on android12"
This reverts commit d338d0ef55.

Reason for revert: The original problem was due to failing to switch mount namespace when bootchart is on (see b/229983560) but this doesn't fix it but only suppresses the symptom. aosp/2073287 fixes the original problem.

Change-Id: I6538de37872e718291e78b591a1ae43e83f7a3e3
2022-04-26 03:40:23 +00:00
Jaegeuk Kim
9ca36ec91b Merge "Allow shutdown /data" 2022-04-25 16:42:48 +00:00
Bram Bonne
078b43cd40 Prevent sandbox executing from sdk_sandbox_data_file
Bug: 215105355
Test: make
Change-Id: I73c6a0d5034f194bf7149336fdac1db51a2b151d
2022-04-25 13:28:52 +02:00
Treehugger Robot
34423ff138 Merge "Replace se_filegroup to se_build_files" 2022-04-23 00:34:08 +00:00
Sal Savage
a529796057 Update LE Audio profile names to be in line with spec and implementation
Bug: 217448211
Test: atest BluetoothInstrumentationTests
Merged-In: If27874ca20be1db032519b2168631c3b651a0522
Change-Id: If27874ca20be1db032519b2168631c3b651a0522
2022-04-22 22:57:56 +00:00
Treehugger Robot
2f666d5fc0 Merge "Add vibrator and power HALs to Watchdog dumps" 2022-04-22 17:39:58 +00:00
Inseob Kim
4196403c36 Replace se_filegroup to se_build_files
se_build_files is a replacement for se_filegroup module. se_build_files
can be used with the normal Soong convention ":module_name{.tag}" by
implementing android.OutputFileProducer. It's better than implementing
ad-hoc logics across various modules, which is the case for se_filegroup
module.

Test: build and boot
Change-Id: Ic0e34549601eb043145e433055f5a030eaf4347e
2022-04-23 01:47:40 +09:00
Jaegeuk Kim
3a45ffec11 Allow shutdown /data
Bug: 229406072
Signed-off-by: Jaegeuk Kim <jaegeuk@google.com>
Change-Id: I7bdd9acd2e85311ecb59b3f0eb1f503a93e240ef
2022-04-22 09:34:02 -07:00
Felipe Leme
c696791a7f Merge "Allow apps to read system_user_mode_emulation_prop." 2022-04-22 15:25:13 +00:00
Michael Wright
d5d2f60795 Add vibrator and power HALs to Watchdog dumps
Test: adb shell am hang --allow-restart, check Last ANR for stacks
Fixes: 211998169
Change-Id: I7cad1e57caed5eb8a5c0092548362fd0a6b1d98d
2022-04-22 14:32:14 +00:00
Treehugger Robot
c6275b4b73 Merge "Add sensor multi-HAL AIDL sepolicy" 2022-04-22 05:58:11 +00:00
Rick Chen
8cb9f4385d Add sensor multi-HAL AIDL sepolicy
Bug: 228525902
Test: Device can boot to home.
Change-Id: I9d27967213df83b20cb49014317dcfb7afac1880
2022-04-22 01:49:26 +00:00
Felipe Leme
b85242c00f Allow apps to read system_user_mode_emulation_prop.
As it's used by UserManager...

Test: sesearch --allow -s appdomain -t system_user_mode_emulation_prop $ANDROID_PRODUCT_OUT/vendor/etc/selinux/precompiled_sepolicy
Bug: 226643927

Change-Id: I1134a9e0b8ae758e3ebef054b96f9e3237a2401f
2022-04-21 18:49:12 -07:00
Joe Bolinger
197b314b4b Add virtual fingerprint instance to policy.
Bug: 228638448
Change-Id: Id9cd3565d731ba98f18e91c50fc19b6820bf3172
Test: N/A
2022-04-21 22:57:01 +00:00
Mitch Phillips
800e948e61 Merge "[GWP-ASan] Add sysprop, allow shell and system apps to set it." 2022-04-21 18:12:43 +00:00
Seth Moore
222e99e26f Merge "Allow the remote provisioner app to set rkp_only properties" 2022-04-21 17:23:11 +00:00
Maciej Żenczykowski
1ebfb867a8 Merge "Grants clatd privs since forked by system server" 2022-04-21 14:00:23 +00:00
Treehugger Robot
bd3e8d9520 Merge "Track sys_module permission for system_server" 2022-04-21 07:20:26 +00:00
Alistair Delva
ce19c41b8f Merge "Adds GPU sepolicy to support devices with DRM gralloc/rendering" 2022-04-21 04:21:45 +00:00
Seth Moore
8bfdd82123 Allow the remote provisioner app to set rkp_only properties
The properties for rkp_only are no longer read only.

This allows remote provisioner unit tests to enable/disable the remote
provisioning only mode, which is required to fully verify functionality.

Test: RemoteProvisionerUnitTests
Bug: 227306369
Change-Id: I8006712a49c4d0605f6268068414b49714bbd939
2022-04-20 17:15:20 -07:00
Treehugger Robot
7c9e7bbb11 Merge "Adds system_user_mode_emulation_prop property." 2022-04-20 22:51:45 +00:00
Felipe Leme
9a385b2112 Adds system_user_mode_emulation_prop property.
It will be used by system_server only (i.e., not even Shell) to let
developers change the system user mode (to be headless or full).

Test: sesearch --allow -t system_user_mode_emulation_prop $ANDROID_PRODUCT_OUT/vendor/etc/selinux/precompiled_sepolicy

Bug: 226643927

Change-Id: Iaba42fd56dce0d8d794ef129634df78f9599260f
2022-04-20 13:28:01 -07:00
Eric Biggers
39b27b87ba Merge "vold.te: stop allowing use of keymaster HAL directly" 2022-04-20 17:42:28 +00:00
Shikha Panwar
8feef80fab Merge "Allow microdroid to start tombstone_transmit service" 2022-04-20 11:08:23 +00:00
Treehugger Robot
d222ea676b Merge "crosvm can access data_shell_file on user builds" 2022-04-20 05:32:32 +00:00
Treehugger Robot
b87591b7c6 Merge "/apex/com.android.art/bin/dex2oat is a symlink, so allow reading it from the shell." 2022-04-20 05:19:16 +00:00
Jiyong Park
cdd5e07956 crosvm can access data_shell_file on user builds
Some of our CTS tests require that crosvm to have read/write access to
files on /data/local/tmp/virt which is labeled as data_shell_file.
Since CTS tests should pass on user builds, grant the access in user
builds as well.

Note that the open access is still disallowed in user builds.

Bug: 222013014
Test: run cts
Change-Id: I4f93ac64d72cfe63275f04f2c5ea6fb99e9b5874
2022-04-20 08:35:19 +09:00
Eric Biggers
bf717e18f1 vold.te: stop allowing use of keymaster HAL directly
Since Android 12, vold goes through the keystore daemon instead of using
the keymaster HAL directly.  Therefore, the SELinux rules that allow
vold to use the keymaster HAL directly are no longer needed.

Bug: 181910578
Change-Id: I8ecc47530cba82128c869ffd2fed9009dd7d5e05
2022-04-19 21:57:18 +00:00
Treehugger Robot
12399e945e Merge "Remove obsolete rule allowing installd to use fsverity ioctls" 2022-04-19 20:49:43 +00:00
Eric Biggers
b83a6d1168 Merge "Remove some FDE rules and update comments" 2022-04-19 16:47:27 +00:00
Treehugger Robot
10ea55472c Merge "apkdmverity: use LOOP_CONFIGURE" 2022-04-19 05:43:56 +00:00
Jason Macnak
a93398051c Adds GPU sepolicy to support devices with DRM gralloc/rendering
... such as Cuttlefish (Cloud Android virtual device) which has a
DRM virtio-gpu based gralloc and (sometimes) DRM virtio-gpu based
rendering (when forwarding rendering commands to the host machine
with Mesa3D in the guest and virglrenderer on the host).

After this change is submitted, changes such as aosp/1997572 can
be submitted to removed sepolicy that is currently duplicated
across device/google/cuttlefish and device/linaro/dragonboard as
well.

Adds a sysfs_gpu type (existing replicated sysfs_gpu definitions
across several devices are removed in the attached topic). The
uses of `sysfs_gpu:file` comes from Mesa using libdrm's
`drmGetDevices2()` which calls into `drmParsePciDeviceInfo()` to
get vendor id, device id, version etc.

Bug: b/161819018
Test: launch_cvd
Test: launch_cvd --gpu_mode=gfxstream
Change-Id: I4f7d4b0fb90bfeef72f94396ff0c5fe44d53510c
Merged-In: I4f7d4b0fb90bfeef72f94396ff0c5fe44d53510c
2022-04-18 17:30:56 -07:00
Jooyung Han
0b3d56d35f apkdmverity: use LOOP_CONFIGURE
LOOP_CONFIGURE is more efficient than LOOP_SET_FD/SET_STATUS64.

apkdmverity has used the latter because LOOP_CONFIGURE didn't work for
loop-mounting IDSIG file.

apkdmverity can use LOOP_CONFIGURE and enabling DIRECT_IO only when
necessary.

Bug: 191344832
Test: atest MicrodroidTestApp
Change-Id: I9503f17a689e2447acee1f6ef9c2aac53cf3c457
2022-04-16 00:07:39 +00:00
Eric Biggers
9bf0a0c141 Remove some FDE rules and update comments
Now that FDE (Full Disk Encryption) is no longer supported, the SELinux
policy doesn't need to support it.  Remove two rules that are no longer
needed.  Also update some comments that implied that other rules were
needed only because of FDE support, when actually they are still needed
for other reasons.  Finally, fix some outdated documentation links.

Bug: 208476087
Change-Id: I4e03dead91d34fcefdfcdc68d44dd97f433d6eaf
2022-04-15 21:06:51 +00:00
Roshan Pius
47bddcd065 sepolicy: Allow uwb module access to CE directories for UWB
Denial logs:
04-15 17:02:48.616  1811  1811 W binder:1811_6: type=1400 audit(0.0:7): avc: denied { write } for name="com.android.uwb" dev="dm-41" ino=6916 scontext=u:r:system_server:s0 tcontext=u:object_r:apex_module_data_file:s0 tclass=dir permissive=0

Bug: 229410097
Change-Id: I86df5f20dda483aa0579a55e1b040c277906db1b
Test: Manual tests
2022-04-15 20:37:24 +00:00
Richard Chang
1c8df204ff Merge "sepolicy: allow vendor system native experiments property" 2022-04-15 03:47:28 +00:00
Eric Biggers
7be3e86f48 Remove obsolete rule allowing installd to use fsverity ioctls
The code that needed this was removed by https://r.android.com/1977357.

Bug: 120629632
Change-Id: I771a0f93b28c9b44715c718eaf534a8a65f2ae30
2022-04-15 01:03:28 +00:00
Martin Stjernholm
1e0b4a5b98 /apex/com.android.art/bin/dex2oat is a symlink, so allow reading it
from the shell.

This fixes a regression from https://r.android.com/1921457, so that
dex2oat without a path can still be run from the adb shell. That CL
removed the symlink from /system/bin, which means the shell finds it in
/apex/com.android.art/bin instead, and hence it needs to be covered by
this sepolicy.

Test: adb unroot && adb shell dex2oat
Bug: 218986148
Bug: 124106384
Change-Id: Ic52b30e0974829b5e5cde5106e6c4eec9f61eec6
2022-04-14 17:52:51 +01:00
Xinyi Zhou
791567ece6 Change nearby from system_api_service to app_api_service
This fixes CTS tests where NearbyManager is null because of SELinux is
in enforcing mode. Detailed explanation: https://docs.google.com/document/d/1CiGn7Vg6LYwrMFvWonuK3fhNDCG5Sm4uCvefkvqpDcY/edit?usp=sharing

NearbyManager APIs are using BLUETOOTH_PRIVILEDGED permission so only System apps can use them.

Fix: 228273869
Test: -m
Change-Id: I091fbea408cea52e934cb6a3917226fb1b2adbc4
2022-04-13 21:18:47 -07:00
Ilya Matyukhin
e0526e27e9 Merge "Fix fingerprint failing to start on GSI images" 2022-04-13 22:01:31 +00:00
Shikha Panwar
23ffb50e5a Allow microdroid to start tombstone_transmit service
... and other required changes for setup

Test: atest MicrodroidHostTestCases
Change-Id: I300ac5db375e5d9f0edb3168effd2f8b9d7c5fc6
2022-04-13 21:09:38 +00:00