Commit Graph

39126 Commits

Author SHA1 Message Date
android-build-prod (mdb) 70d6050321 Merge "adb: Add a way to distinguish between connection failures and successes"
am: 65027d9d80

Change-Id: I1c1a7e837c1d67284bec76a9169cd71707845edc
2018-04-27 13:08:00 -07:00
android-build-prod (mdb) 65027d9d80 Merge "adb: Add a way to distinguish between connection failures and successes" 2018-04-27 19:51:25 +00:00
android-build-prod (mdb) 0209029219 Merge "Remove misleading comment."
am: 584e2fe709

Change-Id: I8432690d37d305b66edc0376fe3dad6311e571c3
2018-04-26 17:57:16 -07:00
android-build-prod (mdb) 584e2fe709 Merge "Remove misleading comment." 2018-04-27 00:49:30 +00:00
android-build-prod (mdb) 8584ffe608 Merge "Show signal sender for SI_FROMUSER signals."
am: b802255b06

Change-Id: I72095feb662d8a04b1a1faa0e8619b2f1f702e2c
2018-04-26 14:26:22 -07:00
android-build-prod (mdb) b802255b06 Merge "Show signal sender for SI_FROMUSER signals." 2018-04-26 21:16:57 +00:00
Luis Hector Chavez 9a388d5387 adb: Make the Connection object a std::shared_ptr
This change is in preparation to allow the TCP-based transports to be
able to reconnect. This is needed because multiple threads can access
the Connection object. It used to be safe to do because one instance of
atransport would have the same Connection instance throughout its
lifetime, but now it is possible to replace the Connection instance,
which could cause threads that were attempting to Write to an
atransport* to use-after-free the Connection instance.

Bug: 74411879
Test: system/core/adb/test_adb.py
Change-Id: I4f092be11b2095088a9a9de2c0386086814d37ce
2018-04-26 13:53:35 -07:00
Luis Hector Chavez 56fe753070 adb: Add a way to distinguish between connection failures and successes
This change adds a callback that is invoked exactly once, either when
the connection is fully established (i.e. CNXN packets have been sent
and received) or the atransport object is deleted before that (because
the connection failed).

This helps in distinguishing between successful and failing connections
for TCP. Especially when there is some kind of port
forwarding/multiplexing in between (like an SSH tunnel or SSLH proxy).

Bug: 74411879
Test: adb connect chromebook:22 (which runs an sslh tunnel to adbd).
      either succeeds or fails, but not fake-succeeds.

Change-Id: I7e826c6f5d4c30338a03b2d376a857ac5d05672a
2018-04-26 13:53:35 -07:00
Mika Raento fdc259bfb5 Merge "Systrace support for NNAPI"
am: da2535c0ea

Change-Id: I090393c955ed624cad2b2ea2c2be0247d6bb5cb4
2018-04-26 11:13:11 -07:00
Mika Raento da2535c0ea Merge "Systrace support for NNAPI" 2018-04-26 17:01:32 +00:00
Elliott Hughes 70d8f28945 Show signal sender for SI_FROMUSER signals.
Suicide doesn't change:

  signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------

But homicide now looks like this (this is `sleep 666` killed by
`kill -SEGV` as root:

  signal 11 (SIGSEGV), code 0 (SI_USER from pid 4446, uid 0), fault addr --------

Bug: http://b/78594105
Test: manual
Change-Id: I8c2feafba8cc5a3db85e8250004d428a464c5d9e
2018-04-26 08:19:17 -07:00
Mika Raento 2c2e3e89b0 Systrace support for NNAPI
Change-Id: I5abf283b5fb04725ec0b8ffbb8191fbddec1766b
Bug: 78137932
Test: mm
2018-04-26 09:34:22 +01:00
Elliott Hughes 78495e02d6 Merge changes Iefcb1ec9,I6df97295
am: efbbe6120b

Change-Id: I010810329e0078efbd376b8162bb11852ce54a0c
2018-04-25 16:57:56 -07:00
Elliott Hughes efbbe6120b Merge changes Iefcb1ec9,I6df97295
* changes:
  Rewrite get_sched_policy_name for safety.
  cutils: add restricted cpuset
2018-04-25 23:46:53 +00:00
Elliott Hughes 9f49508f36 Rewrite get_sched_policy_name for safety.
This way you'll get a build time error if you make the usual mistake of
adding to the enum but not adding an entry to the array.

Also improve the unit tests, and fix get_sched_policy_name's incorrect
behavior on invalid inputs.

Bug: N/A
Test: ran tests
Change-Id: Iefcb1ec9ef66267837da7a576c8be3d0cfb16cd0
2018-04-25 14:55:48 -07:00
Elliott Hughes e9f842142c Merge "Make ziparchive-tests run standalone."
am: c8a8771b6b

Change-Id: Ideba391ab6a25aae34eeced8f445ae444a871ecb
2018-04-25 14:51:53 -07:00
Elliott Hughes c8a8771b6b Merge "Make ziparchive-tests run standalone." 2018-04-25 21:38:13 +00:00
Tim Murray 419ba9e2aa cutils: add restricted cpuset
(cherrypick of 658ae90f69 without the init.rc change)

Bug: 78197570
Test: CTS
Change-Id: I6df972950b75a839caa463ae282ad000b959e8ae
2018-04-25 14:30:37 -07:00
Paul Crowley 9f5aa032f8 Merge "Wipe metadata when we wipe userdata and cache."
am: f88905d231

Change-Id: I92163caab6e2e65565d80bcf7f3661eec757afb1
2018-04-25 13:49:57 -07:00
Elliott Hughes bde0ec9e00 Make ziparchive-tests run standalone.
We need to (a) tell soong to copy our data and (b) automatically find
our data relative to our executable.

The real point of this is to be able to run these tests in APCT and
presubmit.

Bug: N/A
Test: ran tests on host and device, from a variety of directories
Change-Id: I4c0be1ac60f03953fdd5ba6e3d15b1aaa37ed019
2018-04-25 12:50:17 -07:00
Paul Crowley f88905d231 Merge "Wipe metadata when we wipe userdata and cache." 2018-04-25 19:42:56 +00:00
Paul Crowley 4d17006b57 Wipe metadata when we wipe userdata and cache.
Bug: 78469699
Test: Run "fastboot -w" and see that metadata is wiped
Change-Id: I2d795281c48b59c87d4f8f010037d95186f55684
2018-04-25 10:51:05 -07:00
Tao Bao 7d27ffdd45 fastboot: Track the libsparse API change.
Bug: 78432315
Test: Successfully flash a previously failing (huge) sparse image.
Test: `fastboot update` existing marlin-img.zip.
Change-Id: I09c9a06109769882d26be56d4a0d2a2b7b62cb5f
2018-04-25 10:37:01 -07:00
Tao Bao e18c03165b libsparse: Use 'size_t' for the 'len' parameter in callbacks.
This CL updates the callback function signature in
sparse_file_callback() and sparse_file_foreach_chunk().

Before:
int sparse_file_callback(
    struct sparse_file *s, bool sparse, bool crc,
    int (*write)(void *priv, const void *data, int len), void *priv);

int sparse_file_foreach_chunk(
    struct sparse_file *s, bool sparse, bool crc,
    int (*write)(
        void *priv, const void *data, int len, unsigned int block,
        unsigned int nr_blocks),
    void *priv);

After:
int sparse_file_callback(
    struct sparse_file *s, bool sparse, bool crc,
    int (*write)(void *priv, const void *data, size_t len), void *priv);

int sparse_file_foreach_chunk(
    struct sparse_file *s, bool sparse, bool crc,
    int (*write)(
        void *priv, const void *data, size_t len, unsigned int block,
        unsigned int nr_blocks),
    void *priv);

The length (i.e. 'len') comes from the size of a chunk, which could be
legitimately larger than INT_MAX. Prior to this CL, callers (e.g.
write_sparse_data_chunk()) were already passing unsigned int to the
callbacks. When a chunk size exceeds INT_MAX, the callback would see a
negative value, which could lead to undesired behavior. For example,
out_counter_write(), as one of the internal callbacks in libsparse,
gives a wrong sum of chunk sizes, which in turn fails the fastboot
flashing when given a huge sparse image.

It also defines SPARSE_CALLBACK_USES_SIZE_T that allows clients to keep
their codes compatibile with both versions.

Bug: 78432315
Test: `m dist` (with matching changes to all the clients)
Test: Build fastboot and successfully flash a previously failing (huge)
      sparse image.
Change-Id: Iac4bcf7b57039d08af3c57f4be00d75f6b693d93
2018-04-25 10:29:22 -07:00
Tom Cherry 587297953e Merge "logd: notify kernel log readers of new messages"
am: 6a2686b0f3

Change-Id: Ie35d577147257b9fc571628ca069d5305b163fec
2018-04-25 09:49:49 -07:00
Tom Cherry 6a2686b0f3 Merge "logd: notify kernel log readers of new messages" 2018-04-25 16:40:59 +00:00
Tao Bao a1b308e288 Merge "fastboot: sparse_file_len() returns int64_t."
am: 9249f4bc41

Change-Id: Iebfcb88abdb89f708bd34e0c6417ad4dc721c106
2018-04-25 06:40:00 -07:00
Tao Bao 9249f4bc41 Merge "fastboot: sparse_file_len() returns int64_t." 2018-04-25 13:32:43 +00:00
Steven Moreland 9261ab0080 Merge "init: clarify documentation for disabled"
am: 9feca7c249

Change-Id: I4b5d06d470dce6ef7fef036bd535e586161a9439
2018-04-24 18:11:28 -07:00
Tao Bao 41cf35f8b2 fastboot: sparse_file_len() returns int64_t.
Check that the value fits in uint32_t that's supported by the current
protocol.

Also fix and sanity check the max_size before passing it to
sparse_file_resparse(), which accepts `unsigned int`. This shouldn't
happen in practice because of RESPARSE_LIMIT (1 GiB).

Test: `fastboot flash` with small and large images.
Change-Id: I0a8279fc14c54c40a70ddce65c3b25173c0d0a40
2018-04-24 18:10:42 -07:00
Treehugger Robot 9feca7c249 Merge "init: clarify documentation for disabled" 2018-04-25 01:00:54 +00:00
Steven Moreland 8cb36868a4 init: clarify documentation for disabled
Services can be started by name or interface name now.

Bug: N/A
Test: N/A
Change-Id: I9fef619e7c27d458193311f7cd7fca4dcf8c8e72
2018-04-24 16:24:58 -07:00
Tom Cherry cbfebdbadb logd: notify kernel log readers of new messages
LogBuffer::log() returns either a negative number on error or a
positive number indicating the length of the message written.
Therefore, the check to notify kernel log readers of a new message
should be that this function's return value is > 0.

Bug: 78209416
Test: `adb logcat -b kernel` updates when new log messages are present
Change-Id: Icc18c0c22e62340994e5c26aedb72282d61c1541
2018-04-24 14:19:32 -07:00
Elliott Hughes f7b37121c6 Merge "Switch to PCRE grep."
am: 9aca01907d

Change-Id: Ica9a6728968661172ac141d8f0e404f7c80feb5a
2018-04-24 08:14:58 -07:00
Elliott Hughes 9aca01907d Merge "Switch to PCRE grep." 2018-04-24 15:08:57 +00:00
Elliott Hughes a366494fc3 Remove misleading comment.
Bug: N/A
Test: N/A
Change-Id: Ie93d9d0abb13bf204c62f6951d3a7bae650f8e08
2018-04-23 21:50:43 -07:00
Ralph Nathan 3b0360a572 Merge "Add a public.libraries.txt file for iot devices."
am: ca07de4214

Change-Id: I4703399a5b003d9624dee5fbb50a48f47ca5ac8f
2018-04-23 17:26:29 -07:00
Elliott Hughes 90a018a87a Switch to PCRE grep.
Bug: http://b/77150016
Test: boots, manual testing
Change-Id: I377ca42ed9783edcceab4daabe43e993ef74e837
2018-04-23 17:00:54 -07:00
Treehugger Robot ca07de4214 Merge "Add a public.libraries.txt file for iot devices." 2018-04-23 23:20:42 +00:00
Elliott Hughes c7ca07e039 Merge "Document the switch to toybox dd."
am: a3721db333

Change-Id: I5288cbd2a870ee37823b8a5717a84228de0311aa
2018-04-21 12:35:17 -07:00
Treehugger Robot a3721db333 Merge "Document the switch to toybox dd." 2018-04-21 19:25:42 +00:00
Elliott Hughes 9edec24a2f Document the switch to toybox dd.
Bug: N/A
Test: N/A
Change-Id: Ia1fd8a14ceb9d9e8661804a126b3818cc066b0ff
2018-04-21 10:49:17 -07:00
Elliott Hughes 7f1c526ea9 Merge "Remove BSD dd."
am: 75d3592cb9

Change-Id: Id7f0a813716ff74603e4e7fc4c4e992b68b229f1
2018-04-20 19:38:14 -07:00
Treehugger Robot 75d3592cb9 Merge "Remove BSD dd." 2018-04-21 02:31:56 +00:00
Josh Gao 3c9ed98fce Merge "libdebuggerd: fix out of bounds write."
am: eb1b202acb

Change-Id: Id3c0b0334fc50812c6e65b307db36977b7eb1150
2018-04-20 19:31:14 -07:00
Josh Gao d3e2121d8a Merge changes I4b017701,I28aff510
am: 3e378800b8

Change-Id: Iae78bded69ec870b24666b1b0a838bfc0ff10856
2018-04-20 19:30:47 -07:00
Jiyong Park b36004c96d Merge "Mark libziparchive as double_loadable"
am: a7112f4c9b

Change-Id: Ib2d8fd8e511e67cc6ff0eea3f99bc72c7ba4a940
2018-04-20 19:25:52 -07:00
Treehugger Robot eb1b202acb Merge "libdebuggerd: fix out of bounds write." 2018-04-21 02:21:55 +00:00
Treehugger Robot 3e378800b8 Merge changes I4b017701,I28aff510
* changes:
  libdebuggerd: clone registers before we Unwind with them.
  libunwindstack: add Regs::Clone.
2018-04-21 02:15:45 +00:00
Treehugger Robot a7112f4c9b Merge "Mark libziparchive as double_loadable" 2018-04-21 02:14:51 +00:00