Commit graph

39130 commits

Author SHA1 Message Date
Treehugger Robot
2efcb522df Merge "init: fix typo in error message" 2018-07-25 00:43:30 +00:00
Yabin Cui
220c1d5589 Merge "libprocinfo: return error msg instead of printing it." 2018-07-24 23:28:01 +00:00
Treehugger Robot
24f226df87 Merge "Add recovery_available: true to init dependencies" 2018-07-24 23:16:05 +00:00
Tom Cherry
8c901dda30 init: fix typo in error message
Test: none
Change-Id: Ie8417c7c6e3f6600544006c4a84b5bdfaff9725f
2018-07-24 15:54:33 -07:00
Yabin Cui
5f036ab89b libprocinfo: return error msg instead of printing it.
So users can decide whether to print error msg or not.

Bug: none
Test: run libprocinfo_test.
Change-Id: Ie1afcb58cb97493c7ffade6841b6eb7a800a3981
2018-07-24 14:34:06 -07:00
Tom Cherry
1151d15be5 Add recovery_available: true to init dependencies
Init needs this in order to be built in Android.bp

Test: build
Change-Id: I695438d69cc71b739b7648c4008ff3760da58ef0
2018-07-24 13:45:50 -07:00
Chris Fries
56795ac483 Merge "Add derived UsbTransport class with USB reset method" 2018-07-24 19:30:02 +00:00
Aaron Wisner
ceb7cbf5fd Add derived UsbTransport class with USB reset method
For testing there needs to be a way to simulate unplugging and
replugging a device. This change adds support for a USB reset
method that does this.

Also add timeouts, so USB reads/writes don't block forever
on an unresponsive device.

Test: glinux, fastboot tool still works
Test: Reset confirmed working via wireshark Linux URB captures

Change-Id: I7213a2395d4ef1c0238810e4929ab966e78c8b55
2018-07-24 11:24:15 -05:00
Yi Kong
48e3cdef33 Merge "[libsparse] Modernize codebase by replacing NULL with nullptr" 2018-07-24 04:05:03 +00:00
Treehugger Robot
32acd3171a Merge "adb: fix forward --list, --remove(-all) with multiple devices." 2018-07-24 00:47:47 +00:00
Yi Kong
17ba95ed9e [libsparse] Modernize codebase by replacing NULL with nullptr
Fixes -Wzero-as-null-pointer-constant warning.

Test: m
Bug: 68236239
Change-Id: I43dae734817cae7a260ffc7afcd85fbd4451eddf
2018-07-23 23:32:01 +00:00
Chih-hung Hsieh
835d76496d Merge "Declare __FAKE_USE_VA_ARGS as a variadic function." 2018-07-23 23:18:41 +00:00
Ryan Prichard
7af64cbbbe Merge "Restore the libsync __ANDROID_API__ guard" 2018-07-23 22:44:37 +00:00
Josh Gao
7e7cefa2c7 Merge changes from topic "looper_unique_fd"
* changes:
  libutils: switch Looper's fds to unique_fd.
  libziparchive: use fdsan in ZipArchive.
2018-07-23 21:26:11 +00:00
Josh Gao
91c25c0159 adb: fix forward --list, --remove(-all) with multiple devices.
Also, fix error reporting when forward fails because we can't get a
transport, because there's either zero, or more than one transport that
matches the request.

Bug: http://b/111021517
Bug: http://b/111374366
Change-Id: Ia4c3bf6215c3ff4e9023ba1af556f5b10463bd6d
Test: manual
2018-07-23 14:11:26 -07:00
Treehugger Robot
67c5ca20e2 Merge "fs_mgr: Add a method for creating one-off partition instances." 2018-07-23 20:29:10 +00:00
Chih-Hung Hsieh
67f72bde26 Declare __FAKE_USE_VA_ARGS as a variadic function.
This avoids 2 static analysis warnings:
* assigned but unused variables in __VA_ARGS__
* unused expression result in __VA_ARGS__

Bug: 111614304
Test: make with WITH_TIDY=1
Change-Id: I4faae8787f6cc76de7ff4b6d08d25d0cb47324ea
2018-07-23 13:03:19 -07:00
David Anderson
23de22d54b fs_mgr: Add a method for creating one-off partition instances.
fastbootd needs to temporarily map and unmap logical partitions in order
to flash them. To make this easier, this change introduces fs_mgr
methods to create and destroy a single logical partition by name.

Bug: 79173901
Test: N/A
Change-Id: Ic085f2175c26a5edf5f18544012dcfe6d8088f09
2018-07-23 11:43:27 -07:00
Treehugger Robot
a54c293822 Merge "adb: Fix adb remount" 2018-07-23 18:19:56 +00:00
Luis Hector Chavez
46b55e83c5 adb: Fix adb remount
This change makes `adb remount` work again in some devices.

Bug: None
Test: `adb remount` in taimen
Change-Id: I04ec043fdb868f18a53a012c82e239c862ae7eff
2018-07-21 22:49:14 -07:00
Treehugger Robot
1d2b29a902 Merge "init: rename init_first_stage" 2018-07-21 02:47:36 +00:00
Tom Cherry
258109ce4a Merge "init: clean up logging initialization" 2018-07-21 02:01:14 +00:00
Tom Cherry
21d03d83fa Merge "init: removed unused includes" 2018-07-21 01:06:45 +00:00
Treehugger Robot
d4abb70a98 Merge "Revert "Revert "base: add support for tagged fd closure to unique_fd.""" 2018-07-20 23:09:27 +00:00
Tom Cherry
f02506938e init: removed unused includes
Test: build
Change-Id: Ie3020491f67f6930acebe6397be6997b59477b96
2018-07-20 22:48:51 +00:00
Tom Cherry
38a11ccdd1 init: rename init_first_stage
In preparation for splitting first stage init from the rest of the
init executable, rename these files which are specifically involved in
first stage mount operations to a more appropriate name.

Test: builds
Change-Id: I8a2d4e8c7e1deea1bab45cc8e738727bc2ceb3e5
2018-07-20 15:31:36 -07:00
Tom Cherry
74069d1734 init: clean up logging initialization
Clean up a few mistakes in logging initialization

1) Only init needs to clear stdout/stderr/stdin, so remove this from
   ueventd, watchdogd, and subcontext init
2) Only init should reboot due to FATAL errors. This was true even
   before this change due to getpid() checks, but there's no reason to
   not just use the DefaultAborter for other processes.
3) It's probably a mistake for FATAL logs in init to try to gracefully
   shutdown the system, so simply call RebootSystem() here.
4) Lastly, remove log.cpp since it's not actually shared code anymore

Test: build
Change-Id: Ic8c323393dc7ee98ed6bb9691361b51d0d915267
2018-07-20 15:30:14 -07:00
Treehugger Robot
b13c49b1b0 Merge "fastboot: add tomcherry to OWNERS." 2018-07-20 22:16:42 +00:00
Treehugger Robot
3ba85c4d17 Merge "ParseInt/ParseUint: allow validation only." 2018-07-20 21:53:27 +00:00
Chris Fries
767506fc5a Merge "Refactor libfastboot" 2018-07-20 20:52:58 +00:00
Josh Gao
22666feacc Revert "Revert "base: add support for tagged fd closure to unique_fd.""
Use __attribute__((weak)) to check for fdsan availability at runtime,
to support being used when built with the NDK while targeting older
platform versions.

This reverts commit af798acaea49b8d9150b94eb9f5f11450a6b8893.

Bug: http://b/110100358
Test: m libjnitest
Change-Id: Ie59d041d69cc3d4b6c59412d706f702dd1d2dab2
2018-07-20 13:50:15 -07:00
Elliott Hughes
4239aa7b75 fastboot: add tomcherry to OWNERS.
Bug: N/A
Test: N/A
Change-Id: Ie2a367b7fbf1dd5319a3506d09951d571512f438
2018-07-20 13:20:09 -07:00
Treehugger Robot
a570644b7d Merge "fastboot: fix USB_TRACE, make it better." 2018-07-20 20:01:05 +00:00
Treehugger Robot
c23280a1e3 Merge changes Iccfe3bd4,I6380245b,I20d9f2fe
* changes:
  adb: Remove most C-style allocations
  adb: Modernize the service creation
  adb: Preserve the original mount flags when remounting
2018-07-20 18:35:25 +00:00
Steven Moreland
a96e43d3d6 ParseInt/ParseUint: allow validation only.
Removes segfault if T* out != nullptr and just
returns validation result.

Bug: 110758329
Test: libbase_test
Change-Id: I0f304533a7076bba977fbd1a715b9cc0d9e58e75
2018-07-20 11:02:47 -07:00
Treehugger Robot
74be24d696 Merge "Adb and fastboot completion supports zsh users." 2018-07-20 10:27:27 +00:00
Ryan Prichard
d2fec76063 Restore the libsync __ANDROID_API__ guard
Partially reverts 2a358106b7

Bug: http://b/111668906
Test: m
Change-Id: Ic35091e10edda12a97992fbeffefda7ddf1305a1
2018-07-19 22:58:14 -07:00
Treehugger Robot
ea674a38f3 Merge "Revert "base: add support for tagged fd closure to unique_fd."" 2018-07-20 05:11:33 +00:00
Josh Gao
30dd7d4dff Revert "base: add support for tagged fd closure to unique_fd."
This reverts commit fcf2c01b55.

Commit broke full-eng, because libbase is being compiled against the NDK.

Test: treehugger
Change-Id: I8447b6a7fc33e6aa34cec0f037727322fa824446
2018-07-20 01:42:02 +00:00
Treehugger Robot
65e4751633 Merge changes from topic "bionic_fdsan"
* changes:
  crasher: add close(fileno(FILE*)) and close(dirfd(DIR*)).
  debuggerd_handler: use syscall(__NR_close) instead of close.
  base: add support for tagged fd closure to unique_fd.
2018-07-19 23:43:37 +00:00
Treehugger Robot
881be58f41 Merge "fs_mgr: Remove early prototype code." 2018-07-19 23:32:33 +00:00
Christopher Ferris
b8a2fa7fba Merge "Remove PenaltyExcessCharacter from clang-formats." 2018-07-19 23:25:45 +00:00
Treehugger Robot
8ab1fd076d Merge "init: Don't look for logical partitions via uevents." 2018-07-19 21:42:55 +00:00
David Anderson
e0384bbc69 fs_mgr: Remove early prototype code.
This early code is no longer needed now that logical partitions can be
created and flashed normally.

Bug: 79173901
Test: N/A
Change-Id: I393ef23b3d3ce1cd9c80833358051838d0e9f333
2018-07-19 14:38:33 -07:00
David Anderson
ab8414dd6c init: Don't look for logical partitions via uevents.
When using AVB, init's first stage regenerates uevent to find the paths
of block devices for verified partitions. If it can't find them all, it
will panic, causing the device to boot to recovery.

This does not work with logical partitions, since devices for those
partitions are created later in the first stage. In fact, they cannot be
created until uevent regeneration completes, since logical partitions are
are created by finding the "super" partition.

To address this we exclude logical partitions (as marked in fstab) from
the device finding process. Note that partitions moved from GPT to liblp
will no longer appear in by_name_symlink_map_.

Bug: 79173901
Test: AVB 2.0 device boots after deleting the vendor partition,
      creating a super partition, and flashing it with a dynamic
      vendor partition.

Change-Id: I19371b05912240480dc50864a2c04131258a7103
2018-07-19 14:38:27 -07:00
Christopher Ferris
6c481b9a06 Remove PenaltyExcessCharacter from clang-formats.
This option can cause the number of columns to exceed 100.

Bug: 111310533

Test: NA
Change-Id: Icbda1ba9afbf68a29f2a13082df6ca65af3c0f37
2018-07-19 13:50:41 -07:00
Aaron Wisner
db511207ed Refactor libfastboot
This change creates a nice and clean API for issuing
fastboot commands without using the fastboot tool itself.

Test: fastboot tool itself (now using libfastboot2)
on sailfish, walleye, and other devices.
Test: flash bootloader bootloader.img
Test: flash radio radio.img
Test: -w update img.zip
Test: Manually getvar and reboot commands.

Bug: 111126621
Change-Id: I0022536b204ce0c5ad8329367fd522fa3c57877d
2018-07-19 15:16:47 -05:00
Chih-hung Hsieh
f07dbdd022 Merge "Use __VA_ARGS__ when in clang static analyzer." 2018-07-19 19:05:32 +00:00
Treehugger Robot
17fde657bc Merge "liblp: Allow packing partition data into super images." 2018-07-19 19:04:09 +00:00
Luis Hector Chavez
6150a37dbe adb: Remove most C-style allocations
This change gets rid of most malloc/calloc/free calls. The future is
now!

Bug: None
Test: test_device.py
Change-Id: Iccfe3bd4fe45a0319bd9f23b8cbff4c7070c9f4d
2018-07-19 09:41:40 -07:00