Commit graph

38625 commits

Author SHA1 Message Date
Yabin Cui
3841accba8 libprocinfo: add functions reading process map file.
Add test and benchmark.
Also switch libbacktrace, libunwindstack, libmemunreachable
to use libprocinfo for map file reading.
The benchmark shows using libprocinfo speeds up map file reading
in libbacktrace and libunwindstack 18% - 36% on walleye.

Bug: http://b/79118393
Test: run procinfo_test.
Test: run libunwindstack_test.
Test: run libbacktrace_test.
Test: run memunreachable_test.

Change-Id: Icf281c352f4103fc8d4ba6732c5c07b943330ca1
2018-05-14 14:00:18 -07:00
Sen Jiang
3607fe672a Merge "Match LZMA SDK 18.05 API." 2018-05-11 18:58:58 +00:00
Mark Salyzyn
7ea8047185 Merge "init: Add inotify for /dev/input/" 2018-05-10 19:44:44 +00:00
Mark Salyzyn
44692de855 init: Add inotify for /dev/input/
Since event sources can come and go asynchronously because of delayed
driver instantiation due to initialization or firmware upload, USB
attched devices, kernel module loads, or test automation sources like
monkey, add in inotify on /dev/input/ to support these possibilities.

Test: manual, boot, check registered chord works
Bug: 64114943
Change-Id: Ie598bb6f5bf94b2034ab33cf3be7fa15d3467141
2018-05-10 08:45:24 -07:00
Treehugger Robot
86dade8f6f Merge "Remove unused using statement / host stub" 2018-05-10 00:07:50 +00:00
Tom Cherry
2fa178a01e Remove unused using statement / host stub
GetIntProperty() isn't used after
Ied46e9346b4ca7931aa4dcf1c9dbc11de0e12d93, so it can be removed.

Test: build
Change-Id: I5736f553db1a615d51b8fe3cbf9b4aee89451076
2018-05-09 15:25:39 -07:00
Josh Gao
c97cea0d20 Merge "adb: add authorizing, connecting states to transport." 2018-05-09 20:43:31 +00:00
Steven Moreland
4880d44d2a Merge changes from topic "interface_builtins"
* changes:
  init: ServiceList FindInterface
  builtins: interface_{start, stop, restart}
2018-05-09 19:34:22 +00:00
android-build-prod (mdb)
53248e47f4 Merge "Documented adb install --instant" 2018-05-09 18:23:11 +00:00
Mark Salyzyn
98caf20a65 Merge changes from topic "b/64114943"
* changes:
  init: switch from /dev/keychord to /dev/input/
  init: use std::function for epoll handling
2018-05-09 16:49:57 +00:00
Felipe Leme
807be77c25 Documented adb install --instant
Test: m -j32 adb && ./out/host/linux-x86/bin/adb help 2>&1 | grep instant
Bug: 79422318

Change-Id: I2830a9e3cf81becac1a6334670d8dc487fe72322
2018-05-09 09:33:38 -07:00
David Brazdil
b5679cdace Merge changes from topic "hiddenapi-cherrypick"
* changes:
  Add support for logging complex events from C++.
  Add event log tag for hidden API access logging.
2018-05-09 08:10:19 +00:00
Dan Willemsen
0515943d7d Merge "Remove unused tags property from Android.bp files" 2018-05-09 05:59:03 +00:00
Logan Chien
bb783998ce Merge "libctuils: Exclude qtaguid.cpp from VNDK-SP variant" 2018-05-09 01:56:00 +00:00
Dan Willemsen
3e41f92cf5 Remove unused tags property from Android.bp files
The tags property is (and has always been) unused by Soong. The property has
been defined as a list of strings, and the `androidmk` converted any
LOCAL_MODULE_TAGS entries over to it, but we've never done anything with it.

In preparation for removing the definition from Soong, I'm removing it from all
Android.bp files in the tree.

Since this has never done anything, this is a no-op, but if you really did want
the Android.mk behavior, the proper way to define a module to be installed in
userdebug / eng builds is to use PRODUCT_PACKAGES_DEBUG or PRODUCT_PACKAGES_ENG
in the appropriate product makefile.

Change-Id: Id519b2c0ec352e45c470a1734dfc633bbe39937e
Exempt-From-Owner-Approval: global no-op build change
Test: remove `tags` from Soong, see errors go away.
2018-05-08 17:15:23 -07:00
android-build-prod (mdb)
e7020dc8e4 Merge "Remove more bogus <stdbool.h> #includes from C++." 2018-05-08 21:33:10 +00:00
Steven Moreland
6227e345e7 init: ServiceList FindInterface
FindService can't be used w/ interfaces due
to the fact that multiple interfaces can be
added to any given interface.

Bug: 79418581
Test: boot device, manually use ctl commands
Change-Id: I7c152630462c9b7509473bc190f5b30460fcc2bc
2018-05-08 14:26:44 -07:00
Steven Moreland
612d7a47bd builtins: interface_{start, stop, restart}
e.x.:
interface_start android.hardware.nfc@1.0/default
onrestart interface_restart android.hardware.nfc@1.0/default

Fixes: 79418581
Test: add this to a service, and killing that service, light is restarted
    onrestart interface_restart android.hardware.light@2.0::ILight/default
Change-Id: Ia7ac9380f01038752325cfbe030df1dd4a5665e2
2018-05-08 14:26:22 -07:00
Mark Salyzyn
353bf1f945 init: switch from /dev/keychord to /dev/input/
Replace deprecated /dev/keychord driver with /dev/input/ interface.
Will restrict which nodes are active and relevant, and try to mask
out any unreferenced inputs with EVIOCSMASK if available.

Test: manual, boot, check registered chord works
Bug: 64114943
Change-Id: I2bbf84a6e472d720f02282e10d56795b75ac62d1
2018-05-08 13:19:12 -07:00
Tom Cherry
8ae7375f02 init: use std::function for epoll handling
Also allow unregistering of epoll handlers.

Bug: 64114943
Test: boot
Change-Id: I2abe6a56fd451839931d607dddb91669a7d02ff1
2018-05-08 13:19:12 -07:00
android-build-prod (mdb)
b004620f80 Merge "Make fastboot host builds match adb." 2018-05-08 20:06:18 +00:00
Elliott Hughes
23b98f492b Remove more bogus <stdbool.h> #includes from C++.
Bug: N/A
Test: builds
Change-Id: I794cd28667c6c65b38940d8f443315ad116b7ac3
2018-05-08 13:00:06 -07:00
Elliott Hughes
645b50e75d Make fastboot host builds match adb.
Bug: http://b/79131183
Test: builds
Change-Id: I572362e8d1c52ebbfb78f84fd2af5428711317d7
2018-05-08 11:30:07 -07:00
Logan Chien
25b742c627 libctuils: Exclude qtaguid.cpp from VNDK-SP variant
This commit excludes `qtaguid.cpp` from the VNDK-SP variant of
`libcutils.so` because the interface of `libnetd_client.so` may vary
between AOSP releases.

Besides, these functions don't work in vendor processes either because
VNDK-SP libraries are loaded in an isolated `vndk` linker namespace,
which cannot access `/system/lib[64]/libnetd_client.so` directly.  This
change makes it easier to spot the issue at build time and saves several
bytes.

Test: Build aosp_walleye-userdebug and
/system/lib[64]/vndk-sp-$VER/libctuils.so no longer exports qtaguid_*
functions.

Bug: 79329469
Change-Id: Idf6b60f6e58371ea320193641669d1e4412d62b8
2018-05-08 17:41:21 +08:00
Mathew Inwood
07787e6059 Add support for logging complex events from C++.
Also include relevant new metric_logger.proto values.

Test: m
Test: Exercised by ag/3890335 in art
Bug: 77517571
Merged-In: Ia527f2b94c7a6147ad9d537376266e5ffc597b04
Change-Id: Ia527f2b94c7a6147ad9d537376266e5ffc597b04
(cherry picked from commit d0613ac54a)
2018-05-08 10:27:09 +01:00
Mathew Inwood
e07d90dd9d Add event log tag for hidden API access logging.
This new event is logged by ART when hidden API accesses are detected.

Test: m
Test: $ adb lolcat -b events
Bug: 64382372
Bug: 77517571
Merged-In: I5ebb1424d83686dade0d34b118944b0c4c0c7bb1
Change-Id: I5ebb1424d83686dade0d34b118944b0c4c0c7bb1
(cherry picked from commit 8ec1c7ea7c)
2018-05-08 10:26:36 +01:00
Logan Chien
751f2fa535 Merge "init: Use sepolicy version instead" 2018-05-08 01:43:07 +00:00
android-build-prod (mdb)
a6a266af00 Merge "fs_mgr: target-agnostic device-mapper helpers" 2018-05-07 20:59:40 +00:00
android-build-prod (mdb)
035a1c7a0b Merge "bootstat: test reboot rescueparty" 2018-05-07 18:45:10 +00:00
Mark Salyzyn
cd7e122285 bootstat: test reboot rescueparty
This test fails on most devices, gives us a report of devices that
do not propagate the boot reason via the bootloader.  This should
become a bootloader required test.

Test: boot_reason_test.sh optional_rescueparty
Change-Id: Ibdc7b23b025e5d89d659ff08083b2e071343923c
2018-05-07 10:10:18 -07:00
Josh Gao
704494b070 adb: add authorizing, connecting states to transport.
Add two states: connecting and authorizing, to disambiguate the offline
and unauthorized states, respectively.

Previously, devices would transition as follows:

  offline -> unauthorized -> offline -> online
  offline -> unauthorized (when actually unauthorized)

With this patch:

  connecting -> authorizing -> online
  connecting -> authorizing -> unauthorized (when actually unauthorized)

This allows test automation and the like to distinguish between offline
devices, unauthorized devices, and working devices without having to
do retry loops with arbitrary sleeps on their end.

Bug: http://b/79257434
Test: adb_test
Test: adbd_test
Test: manually plugging in a device with `while true; do adb shell echo foo; done`
Change-Id: I036d9b593b51a27a59ac3fc57da966fd52658567
2018-05-04 18:05:18 -07:00
android-build-prod (mdb)
48cf760bea Merge "Remove the 'optional' tag from demangle_fuzzer" 2018-05-04 22:25:53 +00:00
Jeffrey Vander Stoep
24e87383f1 Merge "Logd: include app package name in selinux metadata" 2018-05-04 21:09:19 +00:00
Zach Riggle
d2a594c773 Remove the 'optional' tag from demangle_fuzzer
This causes it to not actually be added to the tests zip, and it
is never available on-device unless *manually* built and pushed.

Test: mmma system/core/demangle
Change-Id: I7fd7f52726b9b981573063c32f25ccab933486a0
2018-05-04 15:59:07 -05:00
Christopher Ferris
00c81fefd3 Merge "Remove unnecessary references to libunwind." 2018-05-04 20:40:42 +00:00
Sen Jiang
2ef03e0f01 Match LZMA SDK 18.05 API.
Test: libunwindstack_test
Change-Id: Ie1c9c91fb4f3585a7543df55a71abf64f8fc6dff
2018-05-04 13:12:36 -07:00
Logan Chien
837b2a4c24 init: Use sepolicy version instead
This commit uses vendor sepolicy file version (defined in
`/vendor/etc/selinux/plat_sepolicy_vers.txt`) to determine whether the
source context should be set as `u:r:vendor_init:s0`.

Before this commit, the criterion was `ro.vndk.version` >= 28.  However,
the check in `property_service.cpp` will always be true because
`ro.vndk.version` hasn't been loaded from `/vendor/default.prop`.

Furthermore, under some circumstances, `ro.vndk.version` may be
different from `plat_sepolicy_vers.txt` (e.g. O-MR1 vendor does not
define `ro.vndk.version`).

Bug: 78605339  # high-level bug to combine O-MR1 and P GSI
Bug: 79135481  # the usage of `ro.vndk.version` in init
Test: vts-tradefed run vts -m VtsTrebleVintfTest  # tetheroffload
Change-Id: Ied46e9346b4ca7931aa4dcf1c9dbc11de0e12d93
2018-05-04 15:21:01 +08:00
Jeff Vander Stoep
d885890e78 Logd: include app package name in selinux metadata
Note: denial metadata is currently only included on debug builds.

avc: denied { read } for comm="getprop" name="u:object_r:net_dns_prop:s0"
dev="tmpfs" ino=19605 scontext=u:r:untrusted_app:s0:c164,c256,c512,c768
tcontext=u:object_r:net_dns_prop:s0 tclass=file permissive=0 b/12345678
app=android.selinuxtargetsdkcurrent.cts

Bug: 9496886
Bug: 68016944
Test: cts-tradefed run cts -m CtsSelinuxTargetSdkCurrentTestCases
Change-Id: I1700722a45b75d22f17ba4edc7b95cbaf99fdda8
2018-05-03 22:40:18 -07:00
android-build-prod (mdb)
8cf185e542 Merge "Fixing a bug introduced due to refactoring var names" 2018-05-04 05:30:34 +00:00
Christopher Ferris
25e2bbf874 Remove unnecessary references to libunwind.
Bug: 79209464

Test: Builds.
Change-Id: I4193ac664e3b118270a17fcc0131fb6c6e384c41
2018-05-03 17:59:45 -07:00
Josh Gao
a3d95cf2f8 Merge "tombstoned: make missing O_TMPFILE workaround actually work around." 2018-05-04 00:55:08 +00:00
David Anderson
0b8e22eb5f fs_mgr: target-agnostic device-mapper helpers
Remove "verity" from device-mapper helper functions so it's clear they can be
re-used for non-verity targets.

Bug: 78914864
Test: AVB device still boots

Change-Id: Id8474b2c6e23e828eff563263ebb409031cde17e
2018-05-03 16:35:09 -07:00
android-build-prod (mdb)
1d87ffd3f6 Merge changes I809d8c2e,I11265375
* changes:
  fs_mgr: clean up dm ioctl flags
  init: refactor first stage to not require fstab
2018-05-03 23:33:36 +00:00
android-build-prod (mdb)
57adfb84aa Merge "tombstoned: don't bail out if we fail to unlink a file that isn't there." 2018-05-03 23:28:48 +00:00
Christopher Ferris
c5943fd3fa Merge "Remove unnecessary references to libunwind." 2018-05-03 23:05:51 +00:00
Josh Gao
f5974aedc4 tombstoned: make missing O_TMPFILE workaround actually work around.
We can't actually link an unlinked file back onto disk if it wasn't
opened with O_TMPFILE. Switch to using a temporary filename instead.

Bug: http://b/77729983
Test: agampe
Change-Id: I1970497114f0056065a1ba65f6358f08b51ec551
2018-05-03 16:05:32 -07:00
Max Bires
b8716687f1 Fixing a bug introduced due to refactoring var names
SELinux messages weren't properly filtering into the events buffer
because message_len was being used to determine length of event data
instead of str_len

Bug: 65597269
Test: SELinux denials show up in the events buffer
Change-Id: I857e10211f71dd0db33a272241c7051c5d0c59ca
(cherry picked from commit 3a5acdaa8d)
2018-05-03 15:25:02 -07:00
android-build-prod (mdb)
708364e650 Merge "bootstat: add reboot,rescueparty" 2018-05-03 21:46:22 +00:00
Josh Gao
28f8cf0f97 tombstoned: don't bail out if we fail to unlink a file that isn't there.
Test: crasher with no tombstones
Change-Id: I20e0537a347dd1f83877150ab13f53441dd65d95
2018-05-03 14:31:08 -07:00
Christopher Ferris
8548d55b45 Remove unnecessary references to libunwind.
Bug: 79209464

Test: Builds.

Change-Id: I79f7b0123bc802e3e12d218e888c30dedf5204dc
2018-05-03 14:24:38 -07:00