Commit graph

29727 commits

Author SHA1 Message Date
Josh Gao
d1a3e8f1ab adb: fix deadlock.
libusb hotplug callbacks are called with the libusb lock taken, and we
call into libusb with our local mutex, so we need to enforce an ordering
between the two. Instead of calling device_connected or
device_disconnected directly, enqueue them onto the main thread.

Bug: http://b/62200735
Test: manually hotplugged a device
Change-Id: Ic5d55db83b47f4bb60f124ce94ddfe06f5f1a0c6
2017-05-30 17:09:42 -07:00
Narayan Kamath
0f185bb148 Merge "tombstoned: Add a shared library version of libtombstoned_client..." 2017-05-23 13:20:32 +00:00
Treehugger Robot
a6bb369cb0 Merge changes I8d0c60e5,Ib8ad0ad6
* changes:
  adb: boolify check_header and check_data.
  adb: redirect stdout/stderr before initializing usb.
2017-05-23 02:51:32 +00:00
Treehugger Robot
2306272142 Merge "libtoolbox_dd / grep: Android.mk -> bp" 2017-05-23 02:43:27 +00:00
Tom Cherry
276f765984 Merge "init: start move to Android.bp" 2017-05-23 02:17:01 +00:00
Yifan Hong
49641ba865 libtoolbox_dd / grep: Android.mk -> bp
Bug: 37512442
Test: links
Change-Id: I98b2b463a69b065eff2bea562ce6be50f8a12341
2017-05-22 18:08:02 -07:00
Treehugger Robot
7d213d08e7 Merge "shell_and_utils: add vendor shell and toybox targets" 2017-05-22 21:00:19 +00:00
Tom Cherry
14fc01301d init: start move to Android.bp
Move libinit, init_tests, and test_service to Android.bp
Leave init in Android.mk as it has unfulfilled dependencies, but
create a comment in Android.bp for future use.
Remove libinit_parser and init_parser_tests as that code was never
used in init.

Bug: 36970783
Bug: 37512442
Test: Build, boot bullhead, init unit tests
Change-Id: Id81cd10ea09453a5fd762ba9189276aad79d5444
2017-05-22 13:30:04 -07:00
Narayan Kamath
2d377cd688 tombstoned: Add a shared library version of libtombstoned_client...
.. for ART and the frameworks to link against. In the new stack dumping
scheme (see related bug), the Java runtime will communicate with
tombstoned in order to obtain a FD to which it can write its traces.

Also move things around to separate headers that are private
implementation details from headers that constitute the public debuggerd
API. There are currently only three such headers :

- tombstoned/tombstoned.h
- debuggerd/client.h
- debuggerd/handler.h

Bug: 32064548
Test: make

Change-Id: If1b8578550e373d84828b180bbe585f1088d1aa3
2017-05-22 16:55:21 +01:00
Sandeep Patil
52b20877dc shell_and_utils: add vendor shell and toybox targets
Bug: 36463595
Test: Build and boot.

Change-Id: I245d1755546fa597e941badce251c2e8293e998e
Signed-off-by: Sandeep Patil <sspatil@google.com>
2017-05-22 08:30:44 -07:00
Treehugger Robot
62db5fcee0 Merge "Add --sync support to push." 2017-05-19 20:26:09 +00:00
Dan Albert
06b0d6b01b Add --sync support to push.
Passing --sync only copies files that are older on the device.

Test: nose2
Bug: None
Change-Id: I2ff6c3d1fe29262c8ee50db316aa92fc38dd7147
2017-05-19 11:09:58 -07:00
Treehugger Robot
5e49fbc547 Merge "Fix test following -p removal." 2017-05-19 17:07:21 +00:00
Treehugger Robot
2623b6c55a Merge "logd: remove start filtration from flushTo (part deux)" 2017-05-19 16:51:59 +00:00
Mark Salyzyn
037d2b71dc Merge changes Iad6ba65e,Ia6a7e8c9,Ida9405cb
* changes:
  libcutils: fs_config: remove aliases
  libcutils: fs_config test report aliases
  libcutils: fs_config: alias "system/<partition>/" to "<partition>/"
2017-05-19 14:17:02 +00:00
Mark Salyzyn
206ed8e2d6 logd: remove start filtration from flushTo (part deux)
We have already searched for the start point, the start filter check
is paranoia that removes out-of-order entries that we are undoubtably
interested in.  Out-of-order entries occur under reader pressure, as
the writer gets pushed back from in-place sorted order and lands it
at the end for the reader to pick it up.  If this occurred during a
batch run or a logger thread wakeup, the entry could be filtered out
and never output to the reader.

We have to treat exact finds for start in the list as terminal when
we search as they represent restarts, depending on the fact that it
is impossible to have the exact same time reported in two log entries
or requested from a batched reader.  This does break down if a log
entry has xxxxxx000 nanoseconds reported, we fix that by making sure
we never log such a case and slip it by a ns.

Found one case where logcat.tail_time* tests failed which was fixed
with this adjustment.

Test: gTest logd-unit-tests, liblog-unit-tests and logcat-unit-tests
Bug: 38046067
Bug: 37791296
Bug: 38341453
Change-Id: I4dd2e2596dd67b8d602160dd79661e01805227a9
2017-05-19 07:15:38 -07:00
Narayan Kamath
24bccbcf98 Merge "tombstoned: Support java trace dumps." 2017-05-19 10:29:37 +00:00
Dan Albert
def4aae26d Fix test following -p removal.
Just use the environment variable.

Test: nose2
Bug: None
Change-Id: I020c737f8aa7416b46794ce387a12f7959a9ca2a
2017-05-19 00:30:51 -07:00
Mark Salyzyn
2cf243528f libcutils: fs_config: remove aliases
Covered by the code automatically now.

Test: gTest libcutils_test --gtest_filter=fs_config.*
Bug: 37703469
Change-Id: Iad6ba65e023845aaea7a181b277a7383c44bd937
2017-05-18 15:56:54 -07:00
Mark Salyzyn
fa39110a8f libcutils: fs_config test report aliases
Instead of requiring aliases, let's report when we see
system/<partition>/ all by itself, or in the company of the alias
<partition>/.  Report if we see duplicate entries.  Add checking for
overrides as well.  Report any simple corruptions in internal table
or in the override files.

Test: gTest libcutils_test --gtest_filter=fs_config.*
Bug: 37703469
Change-Id: Ia6a7e8c9bc9f553d0c1c313937b511b2073318a9
2017-05-18 15:55:48 -07:00
Mark Salyzyn
2d37797b68 libcutils: fs_config: alias "system/<partition>/" to "<partition>/"
For the known partitions entrenched in the build system: vendor, oem
and odm only. We will alias entries that reference system/<partition>
and <partition>/ so that if either are specified, the rule will apply
to both possible paths.

Test: gTest libcutils-tests
Bug: 37703469
Change-Id: Ida9405cbed323489a3d0599c1645e9be2c7b9d08
2017-05-18 15:54:31 -07:00
Treehugger Robot
64e3f88d69 Merge "init should #include <sys/sysmacros.h>" 2017-05-18 22:47:59 +00:00
Keun-young Park
7fe28d9d9a Merge "add ueventd to shutdown critial process" 2017-05-18 20:59:50 +00:00
Keun-young Park
7264bee975 add ueventd to shutdown critial process
- In some devices, some drivers still try to load firmware while shutting
  down, and crashes the kernel. So keep ueventd to prevent such case.

bug: 38203024
Test: reboots
Change-Id: I4f1910723254ccb69f8e9c78e8727fbd8c7eed3e
2017-05-18 20:58:10 +00:00
Josh Gao
36dadca9f0 adb: boolify check_header and check_data.
Test: grep
Change-Id: I8d0c60e500bba855a1afc0877253262246c07fef
2017-05-18 13:40:13 -07:00
Josh Gao
16c5a133ab adb: redirect stdout/stderr before initializing usb.
Avoid printing USB logging to the console.

Test: None
Change-Id: Ib8ad0ad6c559689d0f8feec2e66b42380edd26fb
2017-05-18 13:38:50 -07:00
Tom Cherry
3d33dae74d Merge "fs_mgr: convert libfs_mgr to Android.bp" 2017-05-18 20:18:00 +00:00
Elliott Hughes
51056c49d2 init should #include <sys/sysmacros.h>
Bug: https://github.com/android-ndk/ndk/issues/398
Test: builds
Change-Id: I6428a6344a3ce649bd03ff9e9b0f156425c67f0c
2017-05-18 09:13:15 -07:00
Narayan Kamath
922f6b22fc tombstoned: Support java trace dumps.
The changes here involve :
- Creating and opening a new socket to receive trace dump requests on. Having
  different sockets allows us to install different sets of access control rules.

- A minor refactor to allow us to share common pieces of implementation
  between the java and native dumping code. This will also allow us to
  add a unit test for all file / directory related logic.

There are two java trace specific additions here :
- We use SO_PEERCRED instead of trusting the PID written to the seocket
  because requests come in from untrusted processes.
- Java trace dumps are not interceptible.

kJavaTraceDumpsEnabled is set to false for now but the value of the flag
will be flipped in a future change.

Bug: 32064548
Test: Manual; Currently working on a unit_test for CrashType.

Change-Id: I1d62cc7a7035fd500c3e2b831704a2934d725e35
2017-05-18 12:01:14 +00:00
Treehugger Robot
9397adabd8 Merge "libnetutils: Rename dhcptool to dhcpdbg" 2017-05-18 01:11:32 +00:00
Treehugger Robot
7868a0d82f Merge "Add the functionality for logging counters." 2017-05-17 22:59:55 +00:00
Treehugger Robot
8cfd2971ec Merge "Revert "logd: remove start filtration from flushTo"" 2017-05-17 21:30:20 +00:00
Treehugger Robot
7ce0f00c08 Merge "adb: Allow disabling verity on eng builds when using AVB." 2017-05-17 21:11:46 +00:00
Treehugger Robot
c3b931aad3 Merge "libcutils should #include <sys/sysmacros.h>" 2017-05-17 20:39:39 +00:00
Ruchi Kandoi
b63072e4d0 Add the functionality for logging counters.
Also correct clang-format for libmetricslogger

Test: Run libmetriclogger_test
Change-Id: If61f0bdc394a43e249ec4691da70175eeaf4cec6
2017-05-17 13:18:16 -07:00
Mark Salyzyn
eb45db2cf4 Revert "logd: remove start filtration from flushTo"
Regressed by introducing too much overlap in the results.

This reverts commit 982ad208b5.

Bug: 38341453
Change-Id: I9d630a6b9f3e464f523424b640090f7e268da9bd
2017-05-17 19:55:12 +00:00
Elliott Hughes
d77b537732 libcutils should #include <sys/sysmacros.h>
Bug: https://github.com/android-ndk/ndk/issues/398
Test: builds
Change-Id: I8ca21a74e2856fde09c284aee1343c627d8381e6
2017-05-17 11:36:51 -07:00
David Zeuthen
abddbc2cdf adb: Allow disabling verity on eng builds when using AVB.
Unlike VB1.0, if a device is using AVB then dm-verity is used on any
build (userdebug, eng, etc.). Therefore, we should allow disabling
verity on any build (except USER), not just userdebug. This bug was
pointed out in https://android-review.googlesource.com/#/c/371372/

Bug: 34124301
Test: Manually tested on -eng build on device using AVB.
Change-Id: I314550c13d7458d5d1ef68eb06f98849e11fbe15
2017-05-17 14:28:47 -04:00
Treehugger Robot
67529d29ca Merge "Fix "fastboot flashing"." 2017-05-17 18:25:23 +00:00
Dmitry Shmidt
d3b2d4ff2e libnetutils: Rename dhcptool to dhcpdbg
Also print warning that IP will not allow full connectivity.

Test: Manual

Change-Id: I264c478f07236108a01e766c5264897c2000f008
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2017-05-17 10:47:28 -07:00
Treehugger Robot
75a8233c7e Merge "port metrics_logger to v2 format" 2017-05-17 17:21:55 +00:00
Chris Wren
936fbbdef8 port metrics_logger to v2 format
Bug: 34450377
Test: manual, needs to be a cross-language test
Change-Id: Ib89a48f2c52428deff863b0c28f3c10e7333c8a2
(cherry picked from commit 081492552c)
2017-05-17 10:18:26 -07:00
Treehugger Robot
b03d5a4ba6 Merge "libnetutils: Restore dhcptool" 2017-05-16 23:13:57 +00:00
Dmitry Shmidt
bc592761c9 libnetutils: Restore dhcptool
Despite it is not used for network management, it is
very convenient tool for wifi bringup and debugging.

Test: Manual

Change-Id: I045301acc2dd15d0e68d6b99c8e214865f19ebad
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2017-05-16 14:24:18 -07:00
Treehugger Robot
337b4dd661 Merge "Remove libbase's trivial libutils-headers dependency." 2017-05-16 17:51:14 +00:00
Treehugger Robot
c8c49988b1 Merge "logd: remove start filtration from flushTo" 2017-05-16 15:11:34 +00:00
Treehugger Robot
b9b95ee3a9 Merge "fs_mgr: support different dm-verity error modes" 2017-05-16 01:04:34 +00:00
Elliott Hughes
282ec458be Remove libbase's trivial libutils-headers dependency.
Bug: N/A
Test: builds
Change-Id: I59eb464a0127564a42775bf19b516ad8a53ee235
2017-05-15 17:31:15 -07:00
Elliott Hughes
1eec97af07 Fix "fastboot flashing".
...without breaking "fastboot oem". Turns out the bootloader actually needs
to know whether it's getting a "flashing" or "oem" command.

Bug: http://b/38321935
Test: "fastboot flashing unlock" "fastboot oem uart enable"
Change-Id: I2b3c0b42b01e3c884aa794fa273034a366985089
2017-05-15 16:53:53 -07:00
Treehugger Robot
3cfc1ab89d Merge "logcat: -v thread help missing" 2017-05-15 22:52:29 +00:00