Commit Graph

30156 Commits

Author SHA1 Message Date
Mikhail Lappo 34b7617cb7 Merge "Va_end should be used with va_start"
am: 5f4808382e

Change-Id: Ie79756bdc9a34b4d5b90057a74a0f6bd0007b655
2017-06-14 23:08:04 +00:00
Treehugger Robot 5f4808382e Merge "Va_end should be used with va_start" 2017-06-14 23:00:42 +00:00
Adam Lesinski 9244a6b573 Merge "libziparchive: verify that gpb flags match"
am: 04c4f40a82

Change-Id: I767f07b922a89203bf69b5e41c0897f81135759e
2017-06-14 15:28:11 +00:00
Treehugger Robot 04c4f40a82 Merge "libziparchive: verify that gpb flags match" 2017-06-14 15:20:56 +00:00
Adam Lesinski 1d105aa597 libziparchive: verify that gpb flags match
The Central File Header and Local File Header should
have the same general purpose bit flags set for
consistency.

Bug: 36686974
Test: existing tests pass (ziparchive-tests)

(cherry picked from commit 73b3aa541f)

Change-Id: Ia672a28732154a564ea2f2e3520238bb77924a56
2017-06-14 14:25:55 +01:00
Josh Gao b3ce850ba2 Merge "Revert "crash_dump: defer pausing threads until we're ready.""
am: 550f3bf328

Change-Id: I0ab3cbe6b43fa650978558870124bc5288a43e8f
2017-06-13 18:33:09 +00:00
Josh Gao 550f3bf328 Merge "Revert "crash_dump: defer pausing threads until we're ready."" 2017-06-13 18:22:01 +00:00
Josh Gao 3407d7c80f Revert "crash_dump: defer pausing threads until we're ready."
This reverts commit 8a2a2d182a.

Bug: http://b/62572585
Change-Id: Ia4278bca52178eb7b7b28b30d0930b292d97f353
2017-06-13 17:21:12 +00:00
Josh Gao 5e84d90791 Merge "tombstoned: log where we're writing the tombstone."
am: 87f5432f52

Change-Id: I29faed29b8245bef13284bb702f5c64e1619962a
2017-06-13 02:52:58 +00:00
Treehugger Robot 87f5432f52 Merge "tombstoned: log where we're writing the tombstone." 2017-06-13 02:47:34 +00:00
Josh Gao b0b165caf7 Merge changes Id7ab0464,Ic2a212be
am: 66e1a1e3e2

Change-Id: I11b6a8046d524b452aabb062d96d9d38e41d6af3
2017-06-12 23:12:43 +00:00
Josh Gao 2a8ce10cd8 Merge "adb: fix deadlock between transport_unref and usb_close."
am: 6f61a6d9c4

Change-Id: Ib55b681b57298d93123ffaa7e390ea49a76fee23
2017-06-12 23:09:47 +00:00
Treehugger Robot 66e1a1e3e2 Merge changes Id7ab0464,Ic2a212be
* changes:
  crash_dump: defer pausing threads until we're ready.
  crash_dump: add tracing.
2017-06-12 23:08:24 +00:00
Treehugger Robot 6f61a6d9c4 Merge "adb: fix deadlock between transport_unref and usb_close." 2017-06-12 23:03:55 +00:00
Nicolas Norvez 516ee2445d Merge "adbd: optionally use qemud pipe without ro.kernel.qemu"
am: b3c363f32c

Change-Id: Id98add505c45a7e49141d13d535fb3849287ba0e
2017-06-12 21:46:03 +00:00
Treehugger Robot b3c363f32c Merge "adbd: optionally use qemud pipe without ro.kernel.qemu" 2017-06-12 21:33:00 +00:00
Josh Gao cb68a0317d tombstoned: log where we're writing the tombstone.
Make it easy to find out where a specific crash's tombstone was written
to by adding a log.

Bug: http://b/62268830
Test: crasher
Change-Id: I1961dfb19f76a42a8448ebafd4be153b73cb6800
2017-06-12 21:00:59 +00:00
Elliott Hughes 316b7334b8 Merge "Fix prctl argument type"
am: 6cc5927e0d

Change-Id: Iee476e7734bde72bdaebf9d1643c4b3e60f2339e
2017-06-12 19:53:57 +00:00
Elliott Hughes 6cc5927e0d Merge "Fix prctl argument type" 2017-06-12 19:48:23 +00:00
Nicolas Norvez 717f15353f adbd: optionally use qemud pipe without ro.kernel.qemu
adbd currently decides to use the QEMUD pipe if ro.kernel.qemu=1, as set
for ranchu. The Android container in Chrome OS doesn't have that
property set and it can't be set to 1 because it's used as equivalent to
"runs inside an emulator" throughout Android and changes the way
graphics are handled, whether Bluetooth is supported, etc., behaviour
that we do not want to trigger in Chrome OS.

adbd now also checks service.adb.transport to decide whether to use the
QEMUD (goldfish) pipe.
adbd still first checks for ro.kernel.qemu to preserve existing
behaviour and will still fallback to TCP if it can't use Goldfish.

Bug: 38497992
Test: tested by jmgao@ -thanks!- on aosp_angler, adb still works.

Change-Id: I8370704145ae7301ac7aeef81c5cbd94cfcb7fd7
2017-06-12 12:22:32 -07:00
Bowgo Tsai 95d78849b4 Merge "fs_mgr_verity: support updating actual block device path in verity table"
am: 4c28ca1ac8

Change-Id: I8f35a15f09518bc1757432004a5126c93d1b96ae
2017-06-10 03:02:21 +00:00
Treehugger Robot 4c28ca1ac8 Merge "fs_mgr_verity: support updating actual block device path in verity table" 2017-06-10 02:57:09 +00:00
Bowgo Tsai c3eca505cd fs_mgr_verity: support updating actual block device path in verity table
The value of PRODUCT_{SYSTEM,VENDOR}_VERITY_PARTITION will be included
in the verity metadata of an image. For example:

    PRODUCT_VENDOR_VERITY_PARTITION := /dev/block/platform/soc.0/f9824900.sdhci/by-name/vendor

This makes the image cannot be shared for devices with different by-name
prefix:
    /dev/block/platform/soc.0/f9824900.sdhci/by-name/vendor
    /dev/block/platform/soc.0/7824900.sdhci/by-name/vendor

This change supports using a generic PRODUCT_{SYSTEM,VENDOR}_VERITY_PARTITION to
build image and replace it with the actual path at run time:

    PRODUCT_VENDOR_VERITY_PARTITION := /dev/block/bootdevice/by-name/vendor ==>
    /dev/block/platform/soc.0/7824900.sdhci/by-name/vendor

Bug: 62171170
Test: Boot sailfish with PRODUCT_VENDOR_VERITY_PARTITION := /dev/block/bootdevice/by-name/vendor
Change-Id: I2789d2a025e80a628a1b4e7419818065c209fb7f
2017-06-09 10:02:42 +08:00
Bowgo Tsai 7d491a0a7b Merge "first stage mount: removing the restriction of mount points"
am: 5218d69817

Change-Id: I79fa29cf2cbe899362fb93e69b673725160c2579
2017-06-09 01:56:08 +00:00
Treehugger Robot 5218d69817 Merge "first stage mount: removing the restriction of mount points" 2017-06-09 01:51:50 +00:00
Narayan Kamath dcb4b80694 Merge "tombstoned: turn on java trace support + unit tests."
am: 3aaf17fc16

Change-Id: I1865c712e1cd96c360bebab4a6ca733255e81fe2
2017-06-08 13:23:11 +00:00
Narayan Kamath 3aaf17fc16 Merge "tombstoned: turn on java trace support + unit tests." 2017-06-08 13:18:48 +00:00
Bowgo Tsai 06ed613e73 first stage mount: removing the restriction of mount points
Current first stage mount only allows three mount points: system, vendor
and/or odm. This was introduced by project Treble to mount those
verified partitions early. However, there might be some other custom
partitions needs to be mounted early as well. This CL removes the
restriction and does first stage mount for whatever specified in
fstab-dt.

Bug: 62423887
Test: first stage mount /vendor with vboot 1.0
Test: first stage mount /vendor with vboot 2.0 (AVB)

Change-Id: I6c146c64e673c35c2823523ccbde193590430c48
2017-06-08 11:30:12 +08:00
Josh Gao 7e197ef833 adb: fix deadlock between transport_unref and usb_close.
Fix a deadlock that happened when a reader/writer thread released a
transport while the hotplug thread attempted  to handle a device
disconnection. Decrementing a transport refcount to zero would hold the
global transport mutex and attempt to take the usb handles mutex, while
the hotplug thread would hold the usb handles mutex and try to call
unregister_usb_transport, which would attempt to take the global
transport mutex.

Resolve this by making transport_unref not take the global transport
mutex.

Bug: http://b/62423753
Test: python test_device.py
Change-Id: Ib48b80a2091a254527f3a7d945b6a11fae61f937
2017-06-07 18:54:09 -07:00
Stephen Crane f5b8e34660 Fix prctl argument type
Although prctl is declared as a varargs function, in actuality it takes
unsigned long arguments (after the first int argument). This patch
ensures that the slack value passed to prctl is correctly sized.

Without this change, the 32-bit ARM compiler places the 64-bit slack
value in registers r2 and r3, but prctl expects the first argument to be
in r1. For kernel versions < 4.6, set_sched_policy has not been
correctly setting the timer slack value in 32-bit ARM code.

Test: Run on bullhead device. Verified assembly of libcutils.so

Change-Id: Ie0e22cbf74a74ff168b257b2e58d0c252449d6c9
2017-06-07 17:25:00 -07:00
Josh Gao 8a2a2d182a crash_dump: defer pausing threads until we're ready.
Don't pause the threads we're going to dump until after we're about to
fetch their backtraces.

Bug: http://b/62112103
Test: debuggerd_test
Change-Id: Id7ab0464842b35f98f3b3ebc42fb76161d8afbd2
2017-06-07 14:11:28 -07:00
Josh Gao 8bb039073f crash_dump: add tracing.
Add some tracing to figure out where time is going during a dump.

Bug: http://b/62112103
Test: systrace.py sched freq idle bionic
Change-Id: Ic2a212beeb0bb0350b4d9c2cd7a4e70adc97752d
2017-06-07 14:11:06 -07:00
Josh Gao aa3c3fc3be Merge changes Id51dcb18,I2517dcb9
am: 4db472b779

Change-Id: I86c616c6840133a38f8af6b8b9e61b58435bcc32
2017-06-07 20:08:54 +00:00
Treehugger Robot 4db472b779 Merge changes Id51dcb18,I2517dcb9
* changes:
  adb: libusb: switch from polling for accessibility to a sleep.
  adb: improve race between device_connected and device_disconnected.
2017-06-07 20:01:18 +00:00
Josh Gao 5b8b10e078 adb: libusb: switch from polling for accessibility to a sleep.
For unclear reasons, it seems that for some people, devices are
becoming accessible, inaccessible, and then inaccessible again.
Switch to a sleep for now.

Bug: http://b/62200735
Test: manual
Change-Id: Id51dcb188c3534a57c35cbfd30a181c99115a23c
2017-06-07 11:08:00 -07:00
Josh Gao 7dd382ded9 adb: improve race between device_connected and device_disconnected.
If a device is unplugged while it's being processed, we can be inside
register_usb_transport still when we call unregister_usb_transport,
leading to bad things happening. Move the call of
register_usb_transport into the scope guarded by usb_handles_mutex.

Bug: http://b/62200735
Test: manual
Change-Id: I2517dcb9d30d9a08cebbb5f715ae3fd30c510109
2017-06-07 11:06:53 -07:00
Narayan Kamath ca5e908dd6 tombstoned: turn on java trace support + unit tests.
The SELinux changes that this depends on have now landed.

This change also adds a few lower level unit tests of intercept
functionality.

Test: make; debuggerd_test
Change-Id: I0be5e85e7097e26b71db269c9ed92d9b438bfb28
2017-06-07 18:57:54 +01:00
Josh Gao 9d7880fe96 Merge changes I6c6bf61b,I3fb0b3a8
am: 3160a25010

Change-Id: Ida24fdd74569b2c57bdb0d3cdcfa486faf3cf3f2
2017-06-06 02:45:33 +00:00
Treehugger Robot 3160a25010 Merge changes I6c6bf61b,I3fb0b3a8
* changes:
  adb: libusb: don't try to delete a usb_handle twice.
  adb: don't hold queue lock while performing callbacks.
2017-06-06 02:39:40 +00:00
Josh Gao 60b8c26520 adb: libusb: don't try to delete a usb_handle twice.
Previously, we would attempt to delete a usb_handle in both
device_disconnected and usb_close. If the one in device_disconnected
happened to happen first, usb_close would abort when it failed to find
the handle it was supposed to own.

Bug: http://b/62020217
Test: unplugging device on darwin
Change-Id: I6c6bf61bf89a4d9a23458c00b457080d3d6cc744
2017-06-05 15:11:53 -07:00
Josh Gao 664a618c06 adb: don't hold queue lock while performing callbacks.
Fix yet another source of deadlocks.

Bug: http://b/62020217
Test: unplugged device on darwin
Change-Id: I3fb0b3a84c56aed7d0da8ddba36e2d01fdb682ee
2017-06-05 14:54:45 -07:00
Mark Salyzyn 16d6ed1845 Merge "liblog: add bool to android_log_event_list"
am: d105aa8496

Change-Id: I3b376d3d5c89fd16c4e5eac5afdb74981f372ee1
2017-06-05 17:39:47 +00:00
Treehugger Robot d105aa8496 Merge "liblog: add bool to android_log_event_list" 2017-06-05 17:31:36 +00:00
Mark Salyzyn e09e9a503e liblog: add bool to android_log_event_list
Test: compile
Bug: 62241642
Change-Id: I977702456417ceec21be96ff8463a5ed047560ec
2017-06-05 07:50:13 -07:00
Christopher Ferris 7f717dfc83 Merge "Use demangle for function names."
am: daa6602a86

Change-Id: I045673de2c9ac70cdbe65ef56e0ee7b057d88e93
2017-06-02 22:16:45 +00:00
Christopher Ferris daa6602a86 Merge "Use demangle for function names." 2017-06-02 22:10:02 +00:00
Tom Cherry ed75c00f72 Merge "ueventd: parallelize uevent handling"
am: 70431b1f22

Change-Id: Iddec3d673b1f18bc4b8520aafa01c22e0bcbabbf
2017-06-02 21:55:42 +00:00
Tom Cherry 70431b1f22 Merge "ueventd: parallelize uevent handling" 2017-06-02 21:47:57 +00:00
Tom Cherry c583305ed7 ueventd: parallelize uevent handling
fork() subprocesses to handle uevents in parallel.

This reduces coldboot time on bullhead from ~446ms to ~230ms.
This reduces coldboot time on sailfish from ~690ms to ~360ms.
This reduces coldboot time on ryu from ~187ms to ~122ms.

Bug: 33785894

Test: boot bullhead x40, observe no major differences in /dev and /sys
Test: boot sailfish x40, observe no major differences in /dev and /sys
Test: boot ryu x40, observe no major differences in /dev and /sys
Test: boottime tests on bullhead and sailfish
Test: init unit tests

Change-Id: Ie2f63e000b8af78d187477d31fe109f20304d749
2017-06-02 21:45:56 +00:00
Christopher Ferris 7d0aea91c9 Use demangle for function names.
Bug: 62141808

Test: Ran unit tests, ran debuggerd -b on android processes.
Change-Id: I40f341bcb2b35dd0a020d245d6b6f2ed2df65481
2017-06-02 10:10:24 -07:00