Commit graph

6751 commits

Author SHA1 Message Date
Yi Kong
665c18ebc9 Merge "Allow profcollectd to store and read its application specific node ID in properties" 2021-03-23 05:27:56 +00:00
Yi Kong
b72153bcb7 Merge "Allow betterbug to read profile reports generated by profcollect" 2021-03-23 03:29:46 +00:00
Yi Kong
9b65845b4a Allow profcollectd to store and read its application specific node ID in properties
This node ID will be used to uniquely and anonymously identify a device
by profcollectd on engineering (userdebug or eng) builds.

Test: build
Change-Id: If01f71c62479d63d4d19aac15da24bc835621e66
2021-03-22 19:40:03 +00:00
Stephen Crane
25a0df28a6 Add IKeystoreService interface to keystore_service
IKeystoreService is a VINTF stability interface, and keystore2 is now
using this interface correctly from Rust.

Test: m && adb shell start keystore2
Bug: 179907868
Change-Id: I3b583df2fac7e6bca7c1875efb7650f9ea0a548c
2021-03-22 11:46:59 -07:00
Weilun Du
aa5611337e [Bug Fix] Add exact string to property qemu.hw.mainkeys
qemu.hw.mainkeys exists both in plat_property_contexts and
vendor_property_contexts. This would cause breakage in GSI build
for certain vendors. To fix, add `exact {type}` to make the property
defined in system takes precedence.

Bug: 180412668

Signed-off-by: Weilun Du <wdu@google.com>
Change-Id: I1268e6a202d561a1e43f3d71fb38c6000042306b
2021-03-22 17:11:31 +00:00
Michael Rosenfeld
133496f8a4 Merge "Permit dropping caches from the shell through sys.drop_caches." 2021-03-22 16:04:32 +00:00
Yi Kong
ae9645ecb5 Allow betterbug to read profile reports generated by profcollect
Test: presubmit
Change-Id: I833c0ebaa27a0c8feddf23e4b648ee067c41ae2b
2021-03-22 22:57:57 +08:00
Ricky Wai
7398c147fe Allow zygote to mount obb and data dirs on top of the mounted dirs.
As data and obbs are already mounted to lowerfs, and we need per app visibility isolation to mount
on those directories.

Here's the warning if we do not add it.
3094  3094 W main    : type=1400 audit(0.0:36): avc: denied { mounton } for path="/storage/emulated/0/Android/obb" dev="dm-5" ino=9206 scontext=u:r:zygote:s0 tcontext=u:object_r:media_rw_data_file:s0 tclass=dir permissive=0


Bug: 182997439
Test: No selinux warnings during boot.
Change-Id: Id78d793e70acf0d7699c006e19db6d7fda766bf1
2021-03-22 11:07:06 +00:00
Satya Tangirala
0653374e71 Add convert_storage_key_to_ephemeral to keystore2_key access vector
Introduce the convert_storage_key_to_ephemeral permission to the
keystore2_key access vector and give vold permission to use it. This
permission must be checked when a caller wants to get a per-boot
ephemeral key from a long lived wrapped storage key.

Bug: 181806377
Bug: 181910578
Change-Id: I542c084a8fab5153bc98212af64234e62e9ad032
2021-03-21 14:14:28 -07:00
Michael Rosenfeld
3ccbebb415 Permit dropping caches from the shell through sys.drop_caches.
*   Permits setting the sys.drop_caches property from shell.
*   Permits init to read and write to the drop_caches file.
*   Can only be set to 3 (drop_caches) and 0 (unset).

Bug: 178647679
Test: flashed user build and set property; no avc denials.
Test: flashed userdebug build and dropped caches w/o root.
Change-Id: Idcedf83f14f6299fab383f042829d8d548fb4f5d
2021-03-19 10:55:51 -07:00
Janis Danisevskis
b488a8fe1a Keystore 2.0: Remove keystore2.enable property.
Bug: 171563717
Test: N/A
Change-Id: I85819a71dc24777a9d54f0c83b8b29da9f48cec1
2021-03-19 10:07:49 -07:00
satayev
afc9791f21 Revert^2 "Introduce derive_classpath."
5fd85de907

Bug: 180105615
Test: manual boot of cuttlefish and gphone emulator
Change-Id: I9e43268d3b745e65b5ccc0a4896a7e55a253659d
2021-03-19 11:23:00 +00:00
Martijn Coenen
0b47552028 Merge "Add odsign status properties." 2021-03-19 10:30:20 +00:00
Treehugger Robot
12f3121d79 Merge "Define ro.board.first_api_level property" 2021-03-19 08:50:36 +00:00
Wei Wang
cc01eb9d89 Merge "Grant access to cpuhp_pause trace point" 2021-03-18 23:49:14 +00:00
Orion Hodson
660cf864c8 Merge "Revert "Introduce derive_classpath."" 2021-03-18 19:18:02 +00:00
Orion Hodson
5fd85de907 Revert "Introduce derive_classpath."
Revert submission 1602413-derive_classpath

Bug: 180105615
Fix: 183079517
Reason for revert: SELinux failure leading to *CLASSPATH variables not being set in all builds

Reverted Changes:
I6e3c64e7a:Introduce derive_classpath service.
I60c539a8f:Exec_start derive_classpath on post-fs-data.
I4150de69f:Introduce derive_classpath.

Change-Id: I17e2cd062d8fddc40250d00f02e40237ad62bd6a
2021-03-18 17:00:43 +00:00
Wei Wang
0c032814b9 Grant access to cpuhp_pause trace point
Bug: 172971380
Test: Build
Change-Id: If09139990ef396c8de4d8990aae45ae483f2fb31
2021-03-17 16:43:53 -07:00
Peter Collingbourne
228c1c396c Merge "Add support for a hw_timeout_multiplier system property." 2021-03-17 18:18:51 +00:00
Treehugger Robot
baf84ee461 Merge "Add SELinux policy for using userfaultfd" 2021-03-17 15:04:51 +00:00
Thiébaud Weksteen
bcfca1a686 Add SELinux lockdown policy
The lockdown hook defines 2 modes: integrity and confidentiality [1].
The integrity mode ensures that the kernel integrity cannot be corrupted
by directly modifying memory (i.e. using /dev/mem), accessing PCI
devices, interacting with debugfs, etc. While some of these methods
overlap with the current policy definition, there is value in enforcing
this mode for Android to ensure that no permission has been overly
granted. Some of these detection methods use arbitrary heuristic to
characterize the access [2]. Adapt part of the policy to match this
constraint.

The confidentiality mode further restricts the use of other kernel
facilities such as tracefs. Android already defines a fine-grained
policy for these. Furthermore, access to part of tracefs is required in
all domains (see debugfs_trace_marker). Allow any access related to this
mode.

[1] https://lore.kernel.org/linux-api/20190820001805.241928-4-matthewgarrett@google.com/
[2] https://lore.kernel.org/linux-api/20190820001805.241928-27-matthewgarrett@google.com/

Bug: 148822198
Test: boot cuttlefish with patched kernel; check logcat for denials.
Test: run simpleperf monitor to exercise tracefs; check logcat for denials.
Change-Id: Ib826a0c153771a61aae963678394b75faa6ca1fe
2021-03-17 15:26:01 +01:00
Mohammad Islam
a3f3045f42 Merge "Relocate permission to reserve file from update_engine to apexd" 2021-03-17 12:50:15 +00:00
Lokesh Gidra
06edcd8250 Add SELinux policy for using userfaultfd
ART runtime will be using userfaultfd for a new heap compaction
algorithm. After enabling userfaultfd in android kernels (with SELinux
support), the feature needs policy that allows { create ioctl read }
operations on userfaultfd file descriptors.

Bug: 160737021
Test: Manually tested by exercising userfaultfd ops in ART
Change-Id: I9ccb7fa9c25f91915639302715f6197d42ef988e
2021-03-17 04:57:22 -07:00
satayev
ba22487f86 Merge "Introduce derive_classpath." 2021-03-17 10:58:30 +00:00
Justin Yun
0839607a0c Define ro.board.first_api_level property
When a device define BOARD_SHIPPING_API_LEVEL with an API level, it
sets a vendor property ro.board.first_api_level in vendor/build.prop.
This property is initiated by vendor_init and read-only.

Bug: 176950752
Test: getprop ro.board.first_api_level
Change-Id: Ia09d2e80f1ca4a79dbe4eb0dc11b189644819cad
2021-03-17 15:06:44 +09:00
Howard Chen
28003eeda4 Merge "Support copy-on-write persistent data block when running a DSU" 2021-03-17 02:07:03 +00:00
Maciej Żenczykowski
c23fb986cb update post bpf tethering mainline module split from netd
FYI: running networking tests needs extra privs:
  #============= su ==============
  allow su self:capability2 bpf;

  #============= untrusted_app ==============
  allow untrusted_app self:key_socket create;
  allow untrusted_app self:netlink_route_socket { bind nlmsg_readpriv };
  allow untrusted_app self:packet_socket create;

But obviously we can't add the last three, and not even sure about the first.

Test: atest, TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I778ccaf5d100cb26f167a0c690e0125594d477c3
2021-03-16 04:10:09 -07:00
Martijn Coenen
f2e4ee6498 Add odsign status properties.
These properties are used to communicate odsign status, and allow init
to evict keys and start zygote at the correct moments in time.

Bug: 165630556
Test: no denials from init/odsign
Change-Id: I813e5c1c93d6f00a251a9cce02d0b74e5372c1ce
2021-03-16 09:14:29 +01:00
Hasini Gunasinghe
a3031eccca Merge changes from topic "keystore_api_for_credstore"
* changes:
  Credstore: Add rules to allow credstore read keystore2_enable property.
  Add get_auth_token permission to allow credstore to call keystore2.
2021-03-15 16:02:20 +00:00
Nikita Ioffe
49505cdbc1 Merge "Add apexd_config_prop type" 2021-03-15 13:04:50 +00:00
Aaron Huang
68e7eaf35d Merge "Add selinux policies for pac_proxy_service" 2021-03-15 11:49:45 +00:00
Alex Hong
01cce002bf Merge "Support the dump of nfc service in incident reports." 2021-03-15 03:32:21 +00:00
Nikita Ioffe
360e0f91c3 Add apexd_config_prop type
This type is used for properties that provides per-device configuration
for apexd behaviour (so far - timeouts for creating/deleting dm device).

Test: builds
Bug: 182296338
Change-Id: Ib815f081d3ab94aa8c941ac68b57ebe661acedb9
2021-03-15 00:35:38 +00:00
Hasini Gunasinghe
1d34bd7fd3 Credstore: Add rules to allow credstore read keystore2_enable property.
This is temporary, until keystore2 lands.

Test: CtsVerifier.
Change-Id: I8335e0eb48da682e66fceff9e31696d61235424b
2021-03-12 20:32:06 +00:00
Hasini Gunasinghe
db88d1555f Add get_auth_token permission to allow credstore to call keystore2.
This CL adds a new keystore2 permission "get_auth_token"and grants this
permission to credstore which needs to call keystore2 to obtain
authtokens.

Bug: 159475191
Test: CtsVerifier
Change-Id: I1c02ea73afa6fe0b12a2d74e51fb4a8a94fd4baf
2021-03-12 20:32:06 +00:00
Robert Shih
d37ba7316c Allow communication between mediametrics & statsd
Bug: 141714243
Test: statsd_testdrive
Change-Id: I75fed754c04e3e031d5600d0487e83099402f814
2021-03-12 04:06:23 -08:00
Lajos Molnar
c0119885d6 Merge "Add media performance class property to sepolicy" 2021-03-12 01:31:08 +00:00
Peter Collingbourne
01e58e0fe3 Add support for a hw_timeout_multiplier system property.
In order to test the platform in emulators that are orders of magnitude
slower than real hardware we need to be able to avoid hitting timeouts
that prevent it from coming up properly. For this purpose introduce
a system property, ro.hw_timeout_multiplier, which may be set to
an integer value that acts as a multiplier for various timeouts on
the system.

Bug: 178231152
Change-Id: I6d7710beed0c4c5b1720e74e7abe3a586778c678
Merged-In: I6d7710beed0c4c5b1720e74e7abe3a586778c678
2021-03-11 14:04:18 -08:00
Treehugger Robot
20a1a984ad Merge "Keystore 2.0: Rename KeystoreUserManager to KeystoreMaintenance" 2021-03-11 11:20:11 +00:00
Treehugger Robot
b9b067ce5e Merge "Fix broken neverallow rules" 2021-03-11 07:33:30 +00:00
Artur Satayev
d62193e9df Introduce derive_classpath.
The service generates /data/system/environ/classpath with values for
BOOTCLASSPATH, SYSTEMSERVERCLASSPATH, and DEX2OATCLASSPATH to be
exported by init.

See go/updatable-classpath for more details.

Bug: 180105615
Test: manual
Change-Id: I4150de69f7d39f685a202eb4f86c27b661f808dc
2021-03-11 07:20:25 +00:00
Yabin Cui
786676791f Merge "Make profcollectd mlstrustedsubject." 2021-03-11 07:03:12 +00:00
Treehugger Robot
8c885f0b36 Merge "Allow LOOP_CONFIGURE ioctl in otapreopt_chroot" 2021-03-11 06:22:04 +00:00
Lajos Molnar
b92fdbb393 Add media performance class property to sepolicy
Bug: 175813535
Change-Id: Ic47e6b2871e8085808462070d8bd28b16c07839d
2021-03-10 19:41:56 -08:00
Lorenzo Colitti
a46921b4db Merge changes from topic "clatd-vendor"
* changes:
  Properly set the property_context for net.tcp_init_rwnd.
  Add selinux policy for the new net.464xlat.cellular.enabled prop.
2021-03-10 16:53:41 +00:00
Martijn Coenen
b07ef326d4 Merge "Allow mediaprovider to retrieve drm_service_config_prop" 2021-03-10 15:24:56 +00:00
Lorenzo Colitti
26d3d4a5a2 Properly set the property_context for net.tcp_init_rwnd.
This property is many years old and it does not have a property
context associated with it. It is set by the system server (in
particular, ConnectivityService code, in the Tethering module)
and read by init, which does:

on property:net.tcp_def_init_rwnd=*
    write /proc/sys/net/ipv4/tcp_default_init_rwnd ${net.tcp_def_init_rwnd}

There is no need to add read access to init because init can read
and write any property.

Test: m
Fix: 170917042
Change-Id: I594b09656a094cd2ef3e4fd9703e46bf7b2edd4c
2021-03-10 20:28:26 +09:00
Lorenzo Colitti
082ebd2107 Add selinux policy for the new net.464xlat.cellular.enabled prop.
This property is written by an .rc file - see aosp/1553819 - and
read by the connectivity mainline code in the system server.

Test: m
Bug: 182333299
Change-Id: Ibac622f6a31c075b64387aadb201ad6cdd618ebd
2021-03-10 15:58:48 +09:00
Howard Chen
55665d63da Support copy-on-write persistent data block when running a DSU
The persistent data block is protected by a copy-on-write scratchpad when
running a Dynamic System Update (DSU). The copy-on-write scratchpad
uses a backing file for write operations. This CL adds permissions
to write the backing file for the PersistentDataBlockService.

Bug: 175852148
Test: gsi_tool install & vts_kernel_net_tests

Change-Id: Id0efe407e707fc382679c0eee249af52f877f5d2
2021-03-10 13:02:02 +08:00
Yabin Cui
aa25b5e39f Make profcollectd mlstrustedsubject.
Without being mlstrustedsubject, profcollectd can't read
/proc/<pid>/maps for app processes:

avc: denied " {" read" } for " scontext=u:r:profcollectd:s0
tcontext=u:r:platform_app:s0:c512,c768 tclass=file permissive=0

Bug: 166559473
Test: build and run profcollectd.

Change-Id: I2a20428694edbd87b1304c5f2221ddf699b8193a
2021-03-09 18:51:23 -08:00
Max Bires
23c2021d89 Merge "Granting remote_prov_app find for tethering" 2021-03-10 02:42:46 +00:00
Inseob Kim
85acf6ef70 Fix broken neverallow rules
neverallow rules with allowlist should look like:

    neverallow { domain -allow1 -allow2 } ...

Bug: 181744894
Test: m selinux_policy
Test: pcregrep -M -r "neverallow\s+{(\s*#.*\s*)*\s+-" .
Change-Id: Ibab72ccc1fbacb99b62fe127b4122e1ac22b938a
2021-03-10 10:44:22 +09:00
Janis Danisevskis
f3fe4cfc06 Keystore 2.0: Rename KeystoreUserManager to KeystoreMaintenance
Test: N/A
Change-Id: I40c07e40cb0a852814058fe89d57c44ea85f1994
2021-03-09 14:35:16 -08:00
Collin Fijalkovich
4f7a435b71 Merge "Remove sepolicy surrounding notify_traceur" 2021-03-09 19:13:26 +00:00
Treehugger Robot
4fb7098514 Merge "Fix otapreopt_chroot" 2021-03-09 16:16:20 +00:00
Alex Hong
8b230727e7 Support the dump of nfc service in incident reports.
Bug: 177389412
Bug: 177624172
Bug: 177780408
Bug: 178757209
Bug: 178757537
Bug: 178757649
Test: $ make selinux_policy
      Push SELinux modules

      Run the following commands and ensure incidentd denials are gone.
      $ adb shell incident 3052
      $ incident_report 3052
      $ adb bugreport bugreport.zip

Change-Id: Ida1bcee3ad075cc875b6a7e430dc392259942828
2021-03-09 19:43:54 +08:00
Martijn Coenen
4555c92e20 Allow mediaprovider to retrieve drm_service_config_prop
Bug: 181940747
Test: N/A
Change-Id: I4741f0af2960d346bc75b1715e7570fea7be08bb
2021-03-09 11:10:20 +01:00
Max Bires
b0d5dd358e Granting remote_prov_app find for tethering
The connectivity service manager gets a reference to the tethering
service in its constructor. This causes SELinux denials when the
RemoteProvisioner app attempts to use the connectivity service manager
to figure out when a network is available in order to provision keys.

Test: No SELinux denials!
Change-Id: Icbd776a9b81ee9bb22a2ac6041198fe0a6d3a0d0
2021-03-09 01:58:35 -08:00
Hridya Valsaraju
69b91ffb1e Merge "Add missing permission for accessing the DMA-BUF system heap" 2021-03-09 06:11:17 +00:00
Max Bires
6132cc03a4 Merge "Granting remote_prov_app access to build prop" 2021-03-09 03:49:56 +00:00
Martijn Coenen
b01e0a22a5 Merge "Add external_storage.cross_user.enabled property" 2021-03-08 12:46:23 +00:00
Treehugger Robot
a60ac31fcb Merge "Dontaudit zygote to read and open media_rw_data_file dir" 2021-03-08 11:26:35 +00:00
Jeffrey Vander Stoep
f6f2a79a2a Merge "Give resume_on_reboot key as separate context" 2021-03-08 08:33:16 +00:00
Chun-Wei Wang
75e3fa6ead Merge "Add persist.rollback.is_test (6/n)" 2021-03-06 14:33:38 +00:00
Jeff Vander Stoep
4c0259d5c7 Fix otapreopt_chroot
A number of things have changed, such as how the linkerconfig is
managed. Update permissions to reflect the changes.

Bug: 181182967
Test: Manual OTA of cuttlefish
Change-Id: I32207eb7c5653969e5cef4830e18f8c8fb330026
2021-03-05 14:50:29 -08:00
Alexander Potapenko
3d52817da4 Selinux policy for bootreceiver tracing instance
Create contexts for /sys/kernel/tracing/instances/bootreceiver
Allow read access to files in this dir for system_server.

Bug: 172316664
Bug: 181778620
Test: manual runs with KFENCE enabled
Signed-off-by: Alexander Potapenko <glider@google.com>
Change-Id: I7021a9f32b1392b9afb77294a1fd0a1be232b1f2
2021-03-05 08:53:39 +01:00
Tianjie
21ab75279a Give resume_on_reboot key as separate context
As part of the keystore2 requirement, we give the keys used for
resume on reboot a separate context in keystore. And grant system
server the permission to generate, use and delete it.

Bug: 172780686
Test: resume on reboot works after using keystore2
Change-Id: I6b47625a0864a4aa87b815c6d2009cc19ad151a0
2021-03-04 12:20:19 -08:00
Mohammad Samiul Islam
a3b0227840 Relocate permission to reserve file from update_engine to apexd
Now that we have proper API using which update_engine can ask apexd to
reserve space, we no longer need to allow update_engine access to
directories at /data/apex.

Instead, apexd should get those permission.

Bug: 172911822
Test: atest ApexHandlerAndroidTest
Change-Id: I3a575eead0ac2fef69e275077e5862e721dc0fbf
2021-03-04 12:21:43 +00:00
Ricky Wai
d240d2be77 Dontaudit zygote to read and open media_rw_data_file dir
Zygote will trigger sdcardfs to read and open media_rw_data_file:dir.
We can safely ignore this message.

Bug: 177248242
Test: Able to boot without selinux warning.
Change-Id: Ie9723ac79547bf857f55fc0e60b461210a4e4557
2021-03-04 11:08:33 +00:00
Zim
aa1499dd27 Add external_storage.cross_user.enabled property
This allows the FUSE daemon handle FUSE_LOOKUP requests across user boundaries.

Workaround to support some OEMs for their app cloning feature in R

Bug: 162476851
Bug: 172177780
Test: Manual
Change-Id: Ic1408f413ec3dc4917d3acfda2c5f62f9c16f187
2021-03-04 08:41:04 +00:00
Wonsik Kim
89bd64cd0d Merge "Revert "Selinux policy for bootreceiver tracing instance"" 2021-03-04 00:44:58 +00:00
Wonsik Kim
08a25e6709 Revert "Selinux policy for bootreceiver tracing instance"
Revert submission 1572240-kernel_bootreceiver

Reason for revert: DroidMonitor: Potential culprit for Bug 181778620 - verifying through Forrest before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.
Reverted Changes:
Ic1c49a695:init.rc: set up a tracing instance for BootReceive...
I828666ec3:Selinux policy for bootreceiver tracing instance

Change-Id: I9a8da7ae501a4b7c3d6cb5bf365458cfd1bef906
2021-03-03 22:47:02 +00:00
Hridya Valsaraju
8d5403c517 Add missing permission for accessing the DMA-BUF system heap
This patch fixes the following denials:

avc: denied { open } for comm="composer@2.4-se" path="/dev/dma_heap/system"
dev="tmpfs" ino=700 scontext=u:r:hal_graphics_composer_default:s0
tcontext=u:object_r:dmabuf_system_heap_device:s0 tclass=chr_file permissive=1
avc: denied { open } for comm="android.hardwar" path="/dev/dma_heap/system"
dev="tmpfs" ino=700 scontext=u:r:hal_sensors_default:s0
tcontext=u:object_r:dmabuf_system_heap_device:s0 tclass=chr_file permissive=1
avc: denied { open } for comm="android.hardwar" path="/dev/dma_heap/system"
dev="tmpfs" ino=700 scontext=u:r:hal_camera_default:s0
tcontext=u:object_r:dmabuf_system_heap_device:s0 tclass=chr_file permissive=1
avc: denied { open } for comm="BootAnimation"
path="/dev/dma_heap/system"
dev="tmpfs" ino=700 scontext=u:r:bootanim:s0
tcontext=u:object_r:dmabuf_system_heap_device:s0 tclass=chr_file
permissive=1
avc: denied { open } for comm="Binder:470_2" path="/dev/dma_heap/system"
dev="tmpfs" ino=700 scontext=u:r:surfaceflinger:s0
tcontext=u:object_r:dmabuf_system_heap_device:s0 tclass=chr_file
permissive=1
avc: denied { read } for comm="HwBinder:946_2" name="system" dev="tmpfs"
ino=588 scontext=u:r:cameraserver:s0
tcontext=u:object_r:dmabuf_system_heap_device:s0 tclass=chr_file
permissive=1
avc: denied { open } for comm="HwBinder:946_2" path="/dev/dma_heap/system"
dev="tmpfs" ino=588 scontext=u:r:cameraserver:s0
tcontext=u:object_r:dmabuf_system_heap_device:s0 tclass=chr_file
permissive=1

Bug: 178865267
Test: boot without these denials
Signed-off-by: Hyesoo Yu <hyesoo.yu@samsung.com>

Change-Id: Ic31dffd1328a8693b721433e1dcbbc650d3a3c07
2021-03-03 14:22:48 -08:00
Aaron Huang
e2e39dfba3 Add selinux policies for pac_proxy_service
The policies allow system server to register a pac_proxy_service.

Bug: 177035719
Test: FrameworksNetTests

Change-Id: Idf64dc6e491f5bce66dcab2dbf15823c8d0c2403
2021-03-03 20:18:44 +08:00
Maciej Żenczykowski
5bca6989b4 Merge "grant bpfloader NET_ADMIN capability" 2021-03-03 12:16:26 +00:00
JW Wang
0f8cf04965 Add persist.rollback.is_test (6/n)
This property is set to true in rollback tests to prevent
fallback-to-copy when enabling rollbacks by hard linking.

This gives us insights into how hard linking fails where
it shouldn't.

Bug: 168562373
Test: m
Change-Id: Iab22954e9b9da21f0c3c26487cda60b8a1293b47
2021-03-03 10:34:06 +08:00
Alex Light
0869230220 Allow LOOP_CONFIGURE ioctl in otapreopt_chroot
This ioctl is called by mount in otapreopt_chroot

Test: manual
Bug: 181182967
Change-Id: I37b8538f3e0aae6c66ea1af3d60c4eb340dcea62
2021-03-03 01:33:34 +00:00
Amy Zhang
ab04edc49f Merge "Allow TunerService to find and call native Package Manager Service" 2021-03-02 22:40:01 +00:00
Alexander Potapenko
31251aa6ec Selinux policy for bootreceiver tracing instance
Create contexts for /sys/kernel/tracing/instances/bootreceiver
Allow read access to files in this dir for system_server.

Bug: 172316664
Test: manual runs with KFENCE enabled
Signed-off-by: Alexander Potapenko <glider@google.com>
Change-Id: I828666ec3154aadf138cfa552832a66ad8f4a201
2021-03-02 16:53:12 +01:00
Yi Kong
f2dc35baf3 Merge "Allow profcollectd to search bootstrap bionic libs dir" 2021-03-02 12:41:16 +00:00
Yi Kong
fb621a4322 Allow profcollectd to search bootstrap bionic libs dir
This is required in addition to reading files under the dir, so that
profcollectd can generate profiles for them.

Test: presubmit
Bug: 166559473
Change-Id: Ic46acab3cfc01c549e2f3ba5e765cb2c4ac8a197
2021-03-02 12:39:44 +00:00
Orion Hodson
0fdd1f9f37 Merge "odrefresh.te: use create_rw_perms for apex_art_data_file:file" 2021-03-02 12:03:21 +00:00
Maciej Żenczykowski
94c30686cf grant bpfloader NET_ADMIN capability
This is required for it to be able to create DEVMAP/DEVMAP_HASH maps.

See kernel source code in kernel/bpf/devmap.c:
  static struct bpf_map *dev_map_alloc(union bpf_attr *attr) {
    ...
    if (!capable(CAP_NET_ADMIN)) return ERR_PTR(-EPERM);

Test: atest, TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: I2fc5b1541133859857fc9baa7564965f240c842a
2021-03-01 23:40:08 -08:00
Treehugger Robot
581ddde15a Merge "Transcoding: Allow media transcoding to log metrics to statsd" 2021-03-02 01:17:23 +00:00
Amy Zhang
bd2e154e23 Allow TunerService to find and call native Package Manager Service
Test: local tested on Cuttlefish
Bug: 181350336
Change-Id: If5df4593a17bd0a3b21bb44b54c305f79660c663
2021-03-01 16:48:02 -08:00
Linus Nilsson
ba1ba35a19 Transcoding: Allow media transcoding to log metrics to statsd
Bug: 179274112
Test: Used statsd_testdrive to verify that metrics reach statsd
Change-Id: Ia63b522f7898e86dffe629bd41d76934c95b8aee
2021-03-01 15:09:14 -08:00
Orion Hodson
46c2aad205 odrefresh.te: use create_rw_perms for apex_art_data_file:file
odrefresh should setattr on generated artifacts. This is apparent now
that it is now launched from init which sets a restrictive umask on
forked processes.

Bug: 181397437
Test: manually apply ART APEX update
Change-Id: I8e30c1ef1e42b3b68b3c07e860abb4dc2728e275
2021-03-01 15:33:31 +00:00
Paul Crowley
28befc841c Merge "init sets keystore.boot_level, keystore reads" 2021-02-27 05:05:50 +00:00
Kalesh Singh
144e5d7e9b Merge "gmscore_app: Don't audit memtrack hal denials" 2021-02-27 00:08:21 +00:00
Kalesh Singh
cdf7b0f374 gmscore_app: Don't audit memtrack hal denials
Bug: b/177664629
Test: Check logcat for no memtrack denial on boot
Change-Id: I3b6644d2374c97e7f4a0f90aa2c596e0a870d00f
2021-02-26 16:12:47 -05:00
Janis Danisevskis
ffdbf4370a Merge "Keystore 2.0: Add policy for vpnprofilestore" 2021-02-26 19:20:39 +00:00
Collin Fijalkovich
d6cd6279bf Remove sepolicy surrounding notify_traceur
We no longer use this sysprop-based interface for communication between
Traceur and Perfetto, this change removes the associated policy.

Test: atest TraceurUiTests
Bug: 179923899
Change-Id: Ic59d866d3c75a3f804f6c19a703d6d10560c627a
2021-02-25 13:24:31 -08:00
Darren Hsu
70ae5f4c34 sepolicy: Create new attribute to serve ISuspendControlServiceInternal
Bug: 178417023
Test: Verified manually
Change-Id: Ie058ecf6b31c260e7788cbf0e74fa4182129d3e1
Signed-off-by: Darren Hsu <darrenhsu@google.com>
2021-02-25 18:04:04 +08:00
Yifan Hong
a18cf7ed0c Allow shell to read VAB props.
Bug: 179427873
Test: adb unroot and read the prop
Change-Id: Ib480903afae2e7180a59f8834dd7c54062acd947
2021-02-24 22:33:46 +00:00
Devin Moore
d966b6089f Merge "Add sepolicy for /proc/bootconfig" 2021-02-24 15:56:48 +00:00
Treehugger Robot
fca3cb0201 Merge "Move qemu.sf.lcd_density into system/sepolicy" 2021-02-24 05:20:32 +00:00
Paul Crowley
b0c5571da6 init sets keystore.boot_level, keystore reads
Bug: 176450483
Test: init can set, and keystore2 read, keystore.boot_level
Test: `adb shell getprop -Z | grep boot_level` returns
      [keystore.boot_level]: [u:object_r:keystore_listen_prop:s0]
Change-Id: Iedb37db19e9153995800fc97de6ee8c536179caa
2021-02-23 21:08:05 -08:00
Yi Kong
3dad1d73fa Merge "Allow profcollectd to read bootstrap bionic libs" 2021-02-24 04:32:48 +00:00
Roman Kiryanov
f6afebf934 Move qemu.sf.lcd_density into system/sepolicy
qemu.sf.lcd_density is rerefenced by surfaceflinger
and zygote.

Bug: 178144237
Test: presubmit
Signed-off-by: Roman Kiryanov <rkir@google.com>
Change-Id: Iede75d1170aeac9d020d60a3a66a1f69cee46abf
Merged-In: Iede75d1170aeac9d020d60a3a66a1f69cee46abf
2021-02-23 20:15:33 -08:00
Janis Danisevskis
291bc98a36 Keystore 2.0: Add policy for vpnprofilestore
Test: N/A
Change-Id: Iba6ca7be95dfcead8ce8ee17d6a6d78a5441d58f
2021-02-23 13:24:52 -08:00
David Anderson
6461578be7 Merge "Fix missing domain transition for snapuserd in recovery." 2021-02-23 20:28:19 +00:00
Yi Kong
262010754e Allow profcollectd to read bootstrap bionic libs
... so that it can generate profiles for them.

Test: TreeHugger
Change-Id: I2c7b6d2c1d257852e25d6dbe8c5133c160635ea0
2021-02-23 20:01:48 +00:00
Devin Moore
840d4f3bf3 Add sepolicy for /proc/bootconfig
Vendor boot hal, init, and vold processes all require permission.

Test: build and boot aosp_cf_x86_64_phone
Bug: 173815685
Change-Id: I15692dcd39dfc9c3a3b7d8c12d03eff0a7c96f72
2021-02-23 07:42:06 -08:00
Randall Huang
869f63a202 SELinux policy for /dev/sys/block/by-name/userdata
Bug: 180874192
Test: no denials on boot
Signed-off-by: Randall Huang <huangrandall@google.com>
Change-Id: If9374b1cfad21f6c070ebccf3043582ca485a65a
2021-02-23 13:41:13 +00:00
Mohammad Islam
74e85309f4 Merge changes from topic "apex_reserve"
* changes:
  Allow update_engine to communicate with apexd
  Add necessary sepolicy for update_engine to reserve space on data
2021-02-23 10:26:26 +00:00
David Anderson
d84b67e1cc Fix missing domain transition for snapuserd in recovery.
System files in recovery are labelled as rootfs, so we need an explicit
transition to snapuserd. Without this, factory data resets will fail
with a VABC OTA pending, with the following denial:

        avc:  denied  { entrypoint } for  pid=522 comm="init" path="/system/bin/snapuserd"
                dev="rootfs" ino=1491 scontext=u:r:snapuserd:s0 tcontext=u:object_r:rootfs:s0
                tclass=file permissive=0

Bug: 179336104
Test: factory data reset with VABC OTA pending
Change-Id: Ia839d84a48f2ac8ccb37d6ae3b1f8a8f7e619931
2021-02-23 00:10:43 -08:00
Max Bires
4a834584ae Granting remote_prov_app access to build prop
The RemoteProvisioner app builds a DeviceInfo CBOR object which is
eventually used as AAD to verify the authenticity of a signed MAC key in
the remote provisioning spec. One of those fields is vendor security
patch level, which this patch grants access for the remote_prov_app
domain to read.

Test: No denials! (atest RemoteProvisionerUnitTests)
Change-Id: Iab0426fb5ec184cda171d67451bf44cae897bf9b
2021-02-23 06:38:45 +00:00
Treehugger Robot
4bf88c4d96 Merge "tracing: allow select tracepoints on release builds" 2021-02-19 13:44:25 +00:00
Mohammad Samiul Islam
606a3dca3e Allow update_engine to communicate with apexd
When we serve compressed APEX via OTA, we need to ensure device has
enough space to decompress them during boot. In order to do that,
update_engine will need to pass metadata about the OTA to apexd so that
it can make calculation about space requirments. Update engine in return
will display warning to user if the space requirement can't be
fulfilled.

Bug: 172911822
Test: manual
Change-Id: Idff25ac8e5165da70c539edcf6b292e04299a5c6
2021-02-19 13:21:51 +00:00
Kelvin Zhang
a1e58814a8 Add necessary sepolicy for update_engine to reserve space on data
Test: serve an OTA, make sure /data/apex/reserved is present
Bug: 172911822

Change-Id: I9f7967c9047ae834eb55a48d56ffc34a7b37f5db
2021-02-19 11:30:50 +00:00
Treehugger Robot
e674dd49b5 Merge "Allow dexoptanalyzer to use fd's from odsign." 2021-02-19 10:57:49 +00:00
Treehugger Robot
b8cc291268 Merge "sepolicy: Add label to userdata file node" 2021-02-19 09:26:08 +00:00
Martijn Coenen
6badc7f4c8 Allow dexoptanalyzer to use fd's from odsign.
odsign exec()'s odrefresh, which in turn exec()'s dexoptanalyzer.

Bug: 165630556
Test: No denials on boot
Change-Id: Ie97726cfbdbf09f75fa0b00d34ee10c9bdf5a5d7
2021-02-19 09:53:44 +01:00
Ady Abraham
a476e99e21 Merge "Add a sysprop to control layer caching" 2021-02-19 01:59:48 +00:00
Randall Huang
10d42cec51 sepolicy: Add label to userdata file node
The userdata file node should be labeled to
avoid avc denied.

Bug: 171760673
Bug: 177364376
Test: build pass
Signed-off-by: Randall Huang <huangrandall@google.com>
Change-Id: I9ba89c75c120864c64ea278934b15edc3ba18a6c
2021-02-19 07:45:02 +08:00
Janis Danisevskis
1aad552cfd Merge "Keystore 2.0: Add permissions and policy for user manager AIDL." 2021-02-18 23:00:29 +00:00
Weilun Du
e76978cef7 Merge "Revert^2 "Add qemu.hw.mainkeys to system property_contexts"" 2021-02-18 21:40:53 +00:00
Gavin Corkery
3bb3559e2e Merge "Add sepolicy for scheduling module data directories" 2021-02-18 20:51:51 +00:00
Yifan Hong
4f3a86d1e9 Revert "Allow CTS DeviceInfo to read VAB prop."
This reverts commit 809eb75553.

Reason for revert: should allow shell to do it instead

Change-Id: Ie07b86d1308cb41885957d2214ed7ce190f5ae18
Test: pass
Bug: 179427873
2021-02-18 12:46:42 -08:00
Ady Abraham
48f3dd6a25 Add a sysprop to control layer caching
Adding 'ro.surface_flinger.enable_layer_caching' to control
whether layer caching feature should be enabled or not.

Bug: 158790260
Change-Id: I3ceb84d2a9209b2c422ba93057e9323ca6816ca5
2021-02-18 19:22:02 +00:00
Ryan Savitski
b088e4b11e tracing: allow select tracepoints on release builds
This primarily affects perfetto's traced_probes and shell-invoked
binaries like atrace, but also anyone with access to "debugfs_tracing".

These tracepoints are being actively collected in internal tracing, so
we would like to also make them available on release builds, as they
should be a source of useful system information there as well.

The ones we definitely need:
* sched_waking, sched_wakeup_new: both are similar to the
  already-allowed sched_wakeup. The first differs in which exact process
  context it occurs in, and the latter is the wakeup events of only the
  fresh tasks.
* oom/mark_victim: contains only the pid of the victim. Useful for
  memory-related tracing and analysis.

The other events in this patch are of lesser importance, but also are
fairly straightforward - clocks and priority for frequency/power tracing.

Small extra change: sched_process_free was only relabeled in the tracefs
block, so I've added it to debugfs to keep them in sync. (I wonder whether
debugfs is even necessary at this point... but that's outside of scope
here.)

See the attached bug for a longer explanation. There will also be a
separate patch for system/frameworks/native/atrace/atrace.rc for the
Unix file permissions of these files.

Bug: 179788446
Tested: I did not have access to a "user" build, but I've manually
        checked the labels of events/.../enable tracefs files via ls -Z,
        and strace'd traced_probes on a hacky debug build where I
        commented out its SELinux allow-rule for debugfs_tracing_debug.
Change-Id: I15a9cb33950718757e3ecbd7c71de23b25f85f1d
2021-02-18 16:13:03 +00:00
Yi Kong
e9d2671e10 Allow profcollect to create/rmdir in its own data dir
Test: boot
Bug: 79161490
Change-Id: Iee0ecd4193bddbbefc7b80ef2ef5f37266995283
2021-02-18 17:20:21 +08:00
Josh Gao
b4a8306599 Merge "Let apps read tombstones given to them." 2021-02-18 08:40:57 +00:00
Tianjie Xu
4bda81af5d Merge "Give ota.other.vbmeta_digest the proper context" 2021-02-18 04:10:37 +00:00
Tianjie
63fd05d579 Give ota.other.vbmeta_digest the proper context
Give it the u:object_r:ota_prop:s0 since the prop is only set
after an update.

Bug: 177625570
Test: boot the device, check the prop is written by update_engine
Change-Id: I4cf21d2a6af2a2083d4a5eba7751011cc6d0c522
2021-02-17 16:33:52 -08:00
Treehugger Robot
ad580990c4 Merge "Add sepolicy swcodec native flag namespace." 2021-02-17 21:30:16 +00:00
Weilun Du
e2a8a145ec Revert^2 "Add qemu.hw.mainkeys to system property_contexts"
509b35e5d9

Bug: 180412668
Merged-In: I4067bba36613fa41e3c7a085da76cda4784753ad
Change-Id: I4067bba36613fa41e3c7a085da76cda4784753ad
2021-02-17 18:29:59 +00:00
Hasini Gunasinghe
685ca0c888 Keystore 2.0: Add permissions and policy for user manager AIDL.
Bug: 176123105
Test: User can set a password and unlock the phone.
Change-Id: I96c033328eb360413e82e82c0c69210dea2ddac9
2021-02-17 08:55:31 -08:00
Treehugger Robot
bdfc2c96ce Merge "Add /data/misc/a11ytrace folder to store accessibility trace files." 2021-02-17 13:02:34 +00:00
Treehugger Robot
5ace493461 Merge "Adding SEPolicy for IRemotelyProvisionedComponent" 2021-02-16 23:48:44 +00:00
Elliott Hughes
adaf4fe7a9 Merge "init/ueventd and system_server no longer need access to /dev/hw_random." 2021-02-16 20:08:39 +00:00
Ram Muthiah
523a649401 Merge "Revert "Add qemu.hw.mainkeys to system property_contexts"" 2021-02-16 19:05:10 +00:00
Ram Muthiah
509b35e5d9 Revert "Add qemu.hw.mainkeys to system property_contexts"
Revert submission 1582845-qemu-prop

Reason for revert: aosp_hawk-userdebug is broken on an RVC branch
Reverted Changes:
Idfc2bffa5:Add qemu.hw.mainkeys to system property_contexts
If013ff33f:Remove qemu.hw.mainkeys from vendor_qemu_prop
Bug: 180412668
Change-Id: I335afb931eaeb019f66e3feedea80b0c8888f7a3
2021-02-16 18:58:10 +00:00
Hongming Jin
58f83415ea Add /data/misc/a11ytrace folder to store accessibility trace files.
Bug: 157601519
Test: adb shell cmd accessibility start-trace
      adb shell cmd accessibility stop-trace
Change-Id: Id4224cee800fe3e10f33794c96048366a0bf09bb
2021-02-16 09:35:09 -08:00
Nick Chalko
81a4dd40d6 Add sepolicy swcodec native flag namespace.
Test: add sepolicy, build, check GetServerConfigurableFlag function
Bug: 179286276
Change-Id: Ia16d110900251b3fb3e3959d73524c8814199270
2021-02-16 09:22:16 -08:00
Weilun Du
23bb01756e Merge "Add qemu.hw.mainkeys to system property_contexts" 2021-02-16 16:44:00 +00:00
Max Bires
d2a9e6e630 Adding SEPolicy for IRemotelyProvisionedComponent
This SEPolicy change allows the hal_keymint domain to add
hal_remotelyprovisionedcomponent_service to hwservice_manager.

Test: The Keymint HAL can successfully start an instance of
IRemotelyProvisionedComponent

Change-Id: I15f34daf319e8de5b656bfacb8d050950bf8f250
2021-02-15 20:48:45 -08:00
Gavin Corkery
cd3bb575ab Add sepolicy for scheduling module data directories
Test: Manually test writing and reading files
Bug: 161353402
Change-Id: Ifbc0e4db0ec51f6565a0f52df06b1d148577b788
2021-02-15 22:31:27 +00:00
Maciej Żenczykowski
c281113ea8 Merge "apply 'fs_bpf_tethering' label to /sys/fs/bpf/tethering" 2021-02-15 12:21:54 +00:00
Galia Peycheva
7959b6eb1b Merge "Add blur sysprop to sepolicy" 2021-02-15 12:20:29 +00:00
Treehugger Robot
cbf08f8cc7 Merge changes from topic "uid_pid with recovery mode"
* changes:
  sepolicy: grant system_server process group creation rights
  sepolicy: rules for uid/pid cgroups v2 hierarchy
2021-02-13 21:32:31 +00:00
Marco Ballesio
98a5e60592 sepolicy: grant system_server process group creation rights
system_server must be allowed to create process groups in behalf of
processes spawned by the app zygote

Bug: 62435375
Bug: 168907513
Test: verified that webview processes are migrated in their own process
group

Change-Id: Icd9cd53b759a79fe4dc46f7ffabc0cf248e6e4b8
2021-02-12 15:16:18 -08:00
Elliott Hughes
5aaf7f3461 init/ueventd and system_server no longer need access to /dev/hw_random.
We let the kernel worry about that now.

Bug: http://b/179086242
Test: treehugger
Change-Id: I51bdfaf7488717cc4e4c642261e31d1801cfba68
2021-02-12 09:33:22 -08:00
Mohammad Islam
1a2a3bd369 Merge "Allow apexd to relabel files in /data/apex/decompressed" 2021-02-12 10:16:55 +00:00
Treehugger Robot
98e48ac6b4 Merge "The SE Policies to incorporate ISecureClock and ISharedSecret services along with IKeyMintDevice service into default keymint HAL Server. Test: Rebuild, execute and run atest VtsAidlSharedSecretTargetTest and atest VtsAidlSecureClockTargetTest. Bug: b/171844725, b/168673523." 2021-02-12 02:42:35 +00:00
Shubang Lu
a19f9d2455 Merge "Add SE policy for media_metrics" 2021-02-12 02:00:32 +00:00
Maciej Żenczykowski
d68cb48e90 apply 'fs_bpf_tethering' label to /sys/fs/bpf/tethering
We want to label /sys/fs/bpf/tethering/... with a new label distinct
from /sys/fs/bpf, as this will allow locking down the programs/maps
tighter then is currently possible with the existing system.

These programs and maps are provided via the tethering mainline module,
and as such their number, names, key/value types, etc. are all prone to
be changed by a tethering mainline module update.

Test: atest, TreeHugger
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Change-Id: Ifc4108d76a1106a936b941a3dda1abc5a65c05b0
2021-02-11 17:45:06 -08:00
Treehugger Robot
83d6f96fdc Merge "Allow dumpsys meminfo to print out DMA-BUF statistics" 2021-02-11 23:48:04 +00:00
Marco Ballesio
aa4ce95c6f sepolicy: rules for uid/pid cgroups v2 hierarchy
Bug: 168907513
Test: verified the correct working of the v2 uid/pid hierarchy in normal
and recovery modes

This reverts commit aa8bb3a29b.

Change-Id: Ib344d500ea49b86e862e223ab58a16601eebef47
2021-02-11 23:40:38 +00:00
shubang
2210767054 Add SE policy for media_metrics
Test: CTS;
Change-Id: Ib9382f2513d8fd0e6812d0157c710d0ad5817231
2021-02-11 18:38:07 +00:00