Commit graph

21999 commits

Author SHA1 Message Date
Tianjie Xu
a54c82a1fc Merge "Add a new context for property ota.warm_reset" 2019-11-18 23:15:43 +00:00
Ilya Matyukhin
517fee8781 Merge "Add AuthService to sepolicy" 2019-11-18 20:45:38 +00:00
Ilya Matyukhin
d2309dafcb Add AuthService to sepolicy
AuthService is introduced in ag/9700446.

Bug: 141025588
Test: can successfully publish AuthService with publishBinderService(...)
Change-Id: I0f9fceac0c555d05a29467e4ab1380f389b60af4
2019-11-16 02:24:30 +00:00
Treehugger Robot
e2aabe5012 Merge "Add new time zone detection service" 2019-11-15 19:55:49 +00:00
Neil Fuller
dcda8d0bb7 Add new time zone detection service
Add entries necessary for the new time zone detection service.

Bug:140712361
Test: See related frameworks/base change
Change-Id: Ide4244104e2add843c1d699d528328dd71a6b525
2019-11-15 13:33:23 +00:00
David Anderson
899d721779 Merge "Allow recovery and fastbootd to interact with libfiemap." 2019-11-15 04:27:59 +00:00
Treehugger Robot
a1f3cae304 Merge "sepolicy: Allow system_server to use execmem in emulator builds with software rendering." 2019-11-15 02:48:43 +00:00
Ashwini Oruganti
c77ff3727c Create a separate domain for VzwOmaTrigger
This creates a new vzwomatrigger_app domain. The domain is
currently in permissive mode (for userdebug and eng builds), while we
observe the SELinux denials generated and update permissions.
Bug: 142672293
Test: Build, flash, boot successfully

Change-Id: I552df772b66e8e7edb1ccee754d1ea8dd1acece0
2019-11-14 16:13:00 -08:00
Tianjie Xu
f5ddc0444b Add a new context for property ota.warm_reset
The property is set to inform kernel to do a warm_reset on the next
reboot. This is useful to persist the logs to debug device boot
failures. More details in http://go/rvc-ota-persist-logs.

The property is set to 1 by update_engine after an OTA. And it's set to
0 by update_verifier or vold after we mark the current slot boot
successful.
The property is read by vendor_init. And according to its value,
vendor_init writes a particular sysfs file to schedule a warm reset
on the following reboot.

Without the new context, the denial message says:
[   13.423163] audit: type=1107 audit(1746393.166:8): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=u:r:init:s0 msg='avc:  denied  { read } for property=ota.warm_reset pid=0 uid=0 gid=0 scontext=u:r:vendor_init:s0 tcontext=u:object_r:default_prop:s0 tclass=file permissive=0'
[   23.096497] init: Unable to set property 'OTA.warm_reset' from uid:0 gid:2001 pid:841: SELinux permission check failed
[   23.096574] type=1107 audit(1573768000.668:42): uid=0 auid=4294967295 ses=4294967295 subj=u:r:init:s0 msg='avc: denied { set } for property=OTA.warm_reset pid=841 uid=0 gid=2001 scontext=u:r:update_verifier:s0 tcontext=u:object_r:default_prop:s0 tclass=property_service permissive=0'
[   23.108430] update_verifier: Failed to reset the warm reset flag

Bug: 143489994
Test: check the property can be set by update_engine, and read by vendor_init
Change-Id: I87c12a53a138b72ecfed3ab6a4d846c20f5a8484
2019-11-14 15:24:25 -08:00
Ashwini Oruganti
64e36cf38d Merge "Don't run permissioncontroller_app in permissive mode" 2019-11-14 23:09:41 +00:00
Nikita Ioffe
8a4805265b Allow apexd to be fork_execvp'ed from init during userspace reboot
Test: builds
Test: adb reboot userspace
Bug: 135984674
Change-Id: I089078232c40d533b712736b83a5ed757dde689e
2019-11-14 15:31:47 +00:00
David Anderson
b45bbe2e55 Allow recovery and fastbootd to interact with libfiemap.
In normal Android, libsnapshot interacts with libfiemap over binder (via
IGsid). There is no binder in recovery, so instead, we directly link to
the library and therefore need appropriate sepolicy changes.

Bug: 139154945
Test: no denials in recovery or fastbootd
Change-Id: I356d7b5b906ac198e6f32c4d0cdd206c97faeb84
2019-11-13 18:46:57 -08:00
Ashwini Oruganti
9076b9c541 Don't run permissioncontroller_app in permissive mode
Looking at go/sedenials, we're fairly confident that this domain has all
the necessary permissions. This change enforces all the defined rules
for the permissioncontroller_app domain and unsets the permissive mode.
Bug: 142672293
Test: Build successfully, flashed a phone and basic usage of Permission Manager seemed to work well.

Change-Id: I3fb9cfaa216ddbd865b56e72124374eb1c75dea8
2019-11-13 16:37:49 -08:00
Tri Vo
c03def15ed Merge "system_suspend: sysfs path resolution" 2019-11-13 00:25:26 +00:00
Jing Ji
fd043c7065 Merge "Allow system_server to read system_lmk_prop" 2019-11-12 23:49:08 +00:00
Tri Vo
e3e77ed264 system_suspend: sysfs path resolution
/sys/class/wakeup/wakeupN can point to an arbitrary path in sysfs. Add
"search" permission for path resolution.

Bug: 144095608
Test: m selinux_policy
Change-Id: I033d15b4ca56656f144189f5c2b1b885f30155a3
2019-11-12 13:47:26 -08:00
Treehugger Robot
ec2f903d9b Merge "Create a cellbroadcast apex" 2019-11-10 13:55:54 +00:00
Chen Xu
debf4b622f Create a cellbroadcast apex
create a single com.android.cellbroadcast apex to pack two apks
together: com.android.cellbroadcastreceiver and
com.android.cellbroadcastservice.

Bug: 135956699
Test: m com.android.cellbroadcast && adb install
com.android.cellbroadcast

Change-Id: Ib3f4447e1215f3dbff2ed019d4e15f3cea062920
2019-11-09 23:35:37 -08:00
Wenjie Zhou
b438d4527a Merge "Enable incidentd access to ro.serialno" 2019-11-09 01:05:18 +00:00
Treehugger Robot
eefca2bfd8 Merge "snapshotctl: talk to bootcontrol HAL" 2019-11-08 23:36:21 +00:00
zhouwenjie
c8ae8fa616 Enable incidentd access to ro.serialno
incident report contains similar data as in a bugreport, but in proto
format. Currently ro.serialno is not captured due to selinux settings.

Test: adb shell incident -p LOCAL 1000
Bug: 143372261
Change-Id: I6a89308c1347fba2ce4f7b469f9a02b119d4aeb7
2019-11-08 14:09:52 -08:00
Tri Vo
af9214d16a Merge "system_suspend access to suspend, wakeup stats" 2019-11-08 21:58:33 +00:00
Suren Baghdasaryan
812f7da4dc Merge "allow init to communicate with lmkd and lmkd to kill native processes" 2019-11-08 17:25:10 +00:00
Yifan Hong
667b71010a snapshotctl: talk to bootcontrol HAL
Test: OTA then merge
Change-Id: Ifdb23070de4e7d8ae4a7ef7d5a6435f101c8b410
2019-11-07 14:49:25 -08:00
Tri Vo
5f1ac02157 system_suspend access to suspend, wakeup stats
Android is moving away from debugfs. Information from /d/wakeup_sources
and /d/suspend_stats is now also exposed in sysfs under
/sys/class/wakeup/* and /sys/power/suspend_stats/* respectively:

  https://lkml.org/lkml/2019/7/31/1349
  https://lkml.org/lkml/2019/8/6/1275

Allow SystemSuspend to read those sysfs nodes.

One caveat is that /sys/class/wakeup/wakeupN can be a symlink to a
device-specific location. In this case, device sepolicy should label
that the files appropriately. This is similar to how device policy
applies "sysfs_net" and "sysfs_batteryinfo" labels.

Bug: 144095608
Bug: 129087298
Test: boot cuttlefish; system_suspend is able to read
/sys/power/suspend_stats/* and /sys/class/wakeup/*
Change-Id: I350c88a271c0f422d0557aeb5e05e1537dc97bc9
2019-11-07 13:50:32 -08:00
Eric Laurent
8751aa64d7 Merge "audioserver: allow audioserver to generate audio HAL tombstones" 2019-11-07 18:20:19 +00:00
Suren Baghdasaryan
ee57f177d8 allow init to communicate with lmkd and lmkd to kill native processes
init should register native services with lmkd so that they can be killed
when necessary. Allow init to communicate with lmkd over dedicated socket
the same way AMS does. Allow lmkd to kill and manipulate native processes
that were registered with lmkd.

Bug: 129011369
Test: boot and verify native service registration
Test: verify lmkd can kill registered native processes using lmkd_unit_test
Change-Id: Idfc814bd08115c548e97f11a6bdb006790cbb4ed
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
2019-11-07 18:19:44 +00:00
Sudheer Shanka
426f2e77c0 Merge "Add a new system service "blob_store"." 2019-11-07 18:04:24 +00:00
James Lin
bd0628f347 Merge "[RCS] Add service context of sepolicy of Context.TELEPHONY_IMS_SERVICE" 2019-11-07 03:26:08 +00:00
Ashwini Oruganti
0febe659aa Merge "Don't require seinfo for priv-apps" 2019-11-07 01:05:09 +00:00
Ashwini Oruganti
04f771dee4 Don't require seinfo for priv-apps
Relax the requirement to have both seinfo and name specified for
privapps. The original reason for requiring both was because, normally,
a package can only be uniquely specified by both name and signature,
otherwise package squatting could occur. However, privapps are
pre-installed, so the concerns about the potential for package squatting
are eliminated. This change will drastically simplify sepolicy
configuration for priv-apps.

Bug: 142672293
Test: Flashed a device with this build and verified
com.google.android.permissioncontroller still  runs in the
permissioncontroller_app domain.
Change-Id: I5bb2bf84b9db616c4492bd1402550821c70fdd07
2019-11-06 08:37:03 -08:00
James.cf Lin
b5a0c1c0a2 [RCS] Add service context of sepolicy of Context.TELEPHONY_IMS_SERVICE
Bug: 139260938
Test: Manual
Change-Id: I335a955ee7cc2b8e82acd2987c93076fc50dc20a
2019-11-06 21:17:23 +08:00
Ram Muthiah
b46ef107f9 Update kernel permissions to pass libdm snapshot unit test
Bug: 143654050
Test: libdm_test
Change-Id: I671937b3f3144066bf3529e11ad19a73b0eb685e
2019-11-05 23:54:29 +00:00
Josh Gao
b5d60d7789 Merge "Move adbd to an apex." 2019-11-05 23:36:39 +00:00
Eric Laurent
685eab6ca2 audioserver: allow audioserver to generate audio HAL tombstones
Allow audioserver to signal audio HAL processes and
generate tombstones in case of watchdog restart.

Bug: 141528385
Test: Force watchdog and verify tombstone creation
Change-Id: I39bb4a63aa93efab68baad3890b8f49fc5f79ead
2019-11-04 18:05:28 -08:00
Treehugger Robot
20daed135d Merge "Update permissioncontroller_app domain rules" 2019-11-05 01:56:39 +00:00
Ashwini Oruganti
c557ca61dd Update permissioncontroller_app domain rules
Add some rules based on the SELinux denials observed.

Bug: 143905061
Bug: 142672293
Test: Green builds, no more denials for the 7 services added.
Change-Id: I27e4634cb1df03166e734f6c12c8cb9147568d72
2019-11-04 16:03:54 -08:00
Yifan Hong
73554435ed Merge "Allow snapshotctl to create ota_metadata_file." 2019-11-04 22:10:06 +00:00
Hector Dearman
5b43f023dc Merge "Allow Perfetto to log to statsd" 2019-11-04 13:04:11 +00:00
Hector Dearman
776a6169a0 Allow Perfetto to log to statsd
Denial:
10-31 21:17:11.150  8148  8148 W perfetto: type=1400 audit(0.0:135): avc: denied { write } for name="statsdw" dev="tmpfs" ino=33205 scontext=u:r:perfetto:s0 tcontext=u:object_r:statsdw_socket:s0 tclass=sock_file permissive=0

Bug: b/139351286
Test: adb shell perfetto -c :test --dropbox perfetto, watch logcat
  for denials
Change-Id: I401f1625212f85831ce54116271752578db29578
2019-11-04 12:23:27 +00:00
Jing Ji
861c3475f9 Allow system_server to read system_lmk_prop
System_server will read this property to determine if it should
expect the lmkd sends notification to it on low memory kills.

Bug: 136036078
Test: atest CtsAppExitTestCases:ActivityManagerAppExitInfoTest
Change-Id: Iff90f7d28dc7417994f5906333d58fb18cb4a04c
2019-11-01 17:45:45 -07:00
Yifan Hong
242dbece51 Merge "Allow charger to open health passthrough HAL" 2019-11-01 23:46:31 +00:00
Peter Collingbourne
330ee2ca22 sepolicy: Allow system_server to use execmem in emulator builds with software rendering.
In emulator builds without OpenGL passthrough, we use software rendering
via SwiftShader, which requires JIT support. Therefore, we need to allow
system_server to use execmem so that it can run JITed code. These builds
are never shipped to users.

Bug: 142352330
Change-Id: I4d55b5a1b4ebae2fc8198ef66107c22bde41ad7e
2019-11-01 15:27:29 -07:00
Steven Moreland
a71c74c188 Merge "stable aidl vibrator policy" 2019-11-01 21:09:52 +00:00
Yifan Hong
070d35916f Allow snapshotctl to create ota_metadata_file.
When snapshotctl merge is called on sys.boot_completed
and /metadata/ota/state does not exist, it now tries
to initialize it by creating one.

Test: no selinux denials on boot
Bug: 143551390
Change-Id: I6ee268270e8f788d90610d7a1a90f252ea9baa3a
2019-11-01 11:55:54 -07:00
Chong Zhang
0ee3eecbfa allow mediaserver to access configstore
This is needed to use graphics RenderEngine, creation will
try to access configstore.

bug: 135717526
test: run MediaMetadataRetrieverTest, there shouldn't be any
avc denials in logcat.

Change-Id: Ie26ffe4844edd52684f254e77d9f515550dc82fb
2019-11-01 10:07:36 -07:00
Treehugger Robot
38c47f1bc0 Merge "dumpstate: reads ota_metadata_file" 2019-11-01 01:34:48 +00:00
David Anderson
69e3af2d70 Merge "Add fastbootd to the sys_rawio whitelist." 2019-10-31 20:20:39 +00:00
Ashwini Oruganti
9a85143b4d Merge "Create a separate domain for permissioncontroller" 2019-10-31 16:38:56 +00:00
Ashwini Oruganti
9bc81125ef Create a separate domain for permissioncontroller
This creates an SELinux domain for permissioncontroller and moves it out of the
priv_app SELinux domain.

Bug: 142672293
Test: Flashed a device with this build and verified
com.google.android.permissioncontroller runs in the
permissioncontroller_app domain.
Change-Id: Ieb2e4cb806d18aaeb2e5c458e138975d1d5b64fe
2019-10-30 14:59:12 -07:00