Commit Graph

29773 Commits

Author SHA1 Message Date
Elliott Hughes 8dd31c23ca Merge "Remove bogus _LARGEFILE_SOURCE."
am: 3d7ee068e0

Change-Id: Ifb7cc331b99a8d1260eec665d78ba347f91f2ff0
2017-05-04 17:39:19 +00:00
Treehugger Robot 3d7ee068e0 Merge "Remove bogus _LARGEFILE_SOURCE." 2017-05-04 17:33:54 +00:00
Steven Moreland 7f0a5bd767 trusty/storage/* to Android.bp
Test: links
Bug: 37512442
Change-Id: I53449f572e41a24a4e49b16ef01bdbb23cc10cb5
2017-05-04 15:51:50 +00:00
Elliott Hughes be9024dfbb This code has moved to toybox proper.
Bug: http://b/36653902
Test: ran toybox tests
Change-Id: If0f858121fa29b49fe85c3c21eacd8d5c55fb57b
2017-05-03 22:56:10 -07:00
Elliott Hughes 45964a8e90 Clean up the partition name mapping in fastboot.
Also remove -p.

Bug: N/A
Test: builds
Change-Id: Iea55affc7262323c0d341003359d3175580efbfd
2017-05-03 22:45:37 -07:00
Elliott Hughes 92433d8af0 Remove bogus _LARGEFILE_SOURCE.
Bug: N/A
Test: builds
Change-Id: I145a521a58dc8f838ce188540b02bcda4e81b610
2017-05-03 22:21:16 -07:00
Jin Qian 06c1500a14 Merge "init: manually restorecon mke2fs tools on ramdisk"
am: e2629c5682

Change-Id: Iaa0683ce7931e7408fd836ee058ef4528fc07579
2017-05-04 02:12:18 +00:00
Treehugger Robot e2629c5682 Merge "init: manually restorecon mke2fs tools on ramdisk" 2017-05-04 02:07:02 +00:00
Christopher Ferris 47dea71b16 Move all logging to use the async safe logging.
Also, add a link to the .clang-format-2 for this directory and clang
format the files that changed.

Bug: 31919199

Test: Boot bullhead.
Test: Run unit tests on bullhead. There are a few that fail, but they
Test: failed before and are not a result of this change.
Change-Id: I3d3b2111f6f6bf8a0d7039295d34d5168c191651
2017-05-03 18:04:18 -07:00
Josh Gao ff9d6425d4 Merge "adb: use the actual wMaxPacketSize for usb endpoints."
am: c7988b1f68

Change-Id: Ia81c0e97857823759c7f71ecfca252259d41fee5
2017-05-04 00:16:41 +00:00
Josh Gao c7988b1f68 Merge "adb: use the actual wMaxPacketSize for usb endpoints." 2017-05-04 00:12:23 +00:00
Yueyao Zhu 061003841e Merge "Add dtbo image support for device tree overlay"
am: 5eefcbdd3b

Change-Id: I9bc2bfd6f56482d8776e46da60d8b63d69f75ab5
2017-05-03 23:56:38 +00:00
Treehugger Robot 5eefcbdd3b Merge "Add dtbo image support for device tree overlay" 2017-05-03 23:48:25 +00:00
Tom Cherry c43da33005 Merge "Make /data/data a symlink to /data/user/0"
am: 49bbe16447

Change-Id: I3af2449abd0b1bb4d839d7a17239fe574ed2e88c
2017-05-03 23:46:50 +00:00
Josh Gao 0c91897714 Merge "adb: enable -Wthread-safety on linux/darwin."
am: 2983d2710e

Change-Id: I0fcbadd46a16028b2e69cba1f82975e4e50fd4cf
2017-05-03 23:44:00 +00:00
Tom Cherry 49bbe16447 Merge "Make /data/data a symlink to /data/user/0" 2017-05-03 23:43:00 +00:00
Josh Gao 2983d2710e Merge "adb: enable -Wthread-safety on linux/darwin." 2017-05-03 23:38:59 +00:00
Mark Salyzyn d8dc29df8e Merge changes Ieb44fa8f,I01b26fe5
am: e1e3e20337

Change-Id: I6181e1d699dd721030c2a9080b89b51ab441d185
2017-05-03 23:33:08 +00:00
Treehugger Robot e1e3e20337 Merge changes Ieb44fa8f,I01b26fe5
* changes:
  init: setup keyring before ueventd starts
  logd: refine permissions to access /data/system/packages.list
2017-05-03 23:24:14 +00:00
Jin Qian 2d019f859b init: manually restorecon mke2fs tools on ramdisk
Files in the ramdisk by default have the rootfs label and must be
manually restoreconed.

Bug: 35219933
Change-Id: I2a749f128dc3a609907101ce703747f8990b4386
2017-05-03 16:15:45 -07:00
Tom Cherry 577c75e78c Merge "init: use do_exec() for init_user0"
am: 5ad06cbb1c

Change-Id: Id75cd629df7c73bdc2c7fe4fd8438f44a8c811b7
2017-05-03 22:25:36 +00:00
Treehugger Robot 5ad06cbb1c Merge "init: use do_exec() for init_user0" 2017-05-03 22:11:06 +00:00
Mark Salyzyn 4599627492 init: setup keyring before ueventd starts
Invent keyutils.h to supply capability to set session keyring.
The keyring will hold things like the FBE encryption keys.

Test: gTest logd-unit-tests --gtest_filter=logd.statistics
Bug: 37751120
Bug: 36645158
Change-Id: Ieb44fa8f53dda6cf506a6243498c72d7f7f3cde7
2017-05-03 21:51:04 +00:00
cjbao d147cb5887 Make /data/data a symlink to /data/user/0
For legacy reason, /data/data is a real dir and /data/user/0 is a
symbolic link to it.  Overhead for linux kernel to walk through
symbolic link is not negligible. This is unnessary overhead to
carry over.  This patch is to make /data/user/0 a a real dir and
make legacy folder /data/data a symbolic link.  OTAed system does
not get impacted.

Test: Manual test
Change-Id: I419564a75f6ebf3154badb8725ba9831164592b6
Signed-off-by: cjbao <cathy.bao@intel.com>
2017-05-03 21:38:31 +00:00
Yueyao Zhu e67da71dc1 Add dtbo image support for device tree overlay
Test: Used the built fastboot tool to run flashall on a device
Bug: 32969430
Bug: 36813951
Change-Id: If2db3055bb7250a57d9a78b0534df491b68b6224
2017-05-03 14:36:43 -07:00
Mark Salyzyn d392ac160c logd: refine permissions to access /data/system/packages.list
Refine DAC security surrounding logd.daemon worker thread and add a
positive test for logd failure to access /data/system/packages.list.

- Add AID_PACKAGE_INFO to groups of worker thread.
- Move AID_SYSTEM to groups, setgid to AID_LOGD.
- Do not drop capabilities until after setting the uid and gids.
- Add a test that is part of logd.statistics test to check when
  packagelistparser appears broken.
- If /data/system/packages.list is encrypted, ensure we do not pick
  up the existing inode to ensure strong positive when finding access
  problems.
- Replace all occurrences of NULL with nullptr in gTest code for
  compliance with best practices.

Test: gTest logd-unit-tests --gtest_filter=logd.statistics
      (expect consistent failure, later CLs fix)
Bug: 37751120
Bug: 36645158
Change-Id: I01b26fe5e25203246ae432d272c8daa9c07cab54
2017-05-03 14:35:14 -07:00
Josh Gao 68f679c35b adb: enable -Wthread-safety on linux/darwin.
Delete the sysdeps/mutex tests that -Wthread-safety complains about.
We're using the standard library's std::mutex on all platforms now,
anyway.

Test: mma
Change-Id: I3bf958c72604b29dfb1d9c898d3c9aa34aed2685
2017-05-03 14:28:21 -07:00
Tom Cherry 5a86cb7694 init: use do_exec() for init_user0
Similar to what installkey used to do, init_user0 forks and
synchronously waits for vdc to return.  This is dangerous to do in
init however as init also processes properties from a single thread.

I'm not aware of any specific issues that this is currently causing,
but it's a good preventative measure to match what installkey does and
use do_exec().

Test: Boot bullhead, see that init_user0 still happens
Change-Id: I853c61594fe3d97e91bbb2319ebddf2bbe80d457
2017-05-03 13:25:08 -07:00
Josh Gao ef3d343254 adb: use the actual wMaxPacketSize for usb endpoints.
Previously, adb was assuming a fixed maximum packet size of 1024 bytes
(the value for an endpoint connected via USB 3.0). When connected to an
endpoint that has an actual maximum packet size of 512 bytes (i.e.
every single device over USB 2.0), the following could occur:

    device sends amessage with 512 byte payload
    client reads amessage
    client tries to read payload with a length of 1024

In this scenario, the kernel will block, waiting for an additional
packet which won't arrive until something else gets sent across the
wire, which will result in the previous read failing, and the new
packet being dropped.

Bug: http://b/37783561
Test: python test_device.py on linux/darwin, with native/libusb
Change-Id: I556f5344945e22dd1533b076f662a97eea24628e
2017-05-03 12:32:39 -07:00
Tom Cherry e4988c9a34 Merge "ueventd: do not reference init's sehandle"
am: 672dd970f4

Change-Id: I12378e6f1917cd31b42db6cde78d2f959bb6e4f5
2017-05-03 18:20:46 +00:00
Tom Cherry 672dd970f4 Merge "ueventd: do not reference init's sehandle" 2017-05-03 18:14:38 +00:00
Christopher Ferris 1e3dea0034 Merge "Move libc_logging to libasync_safe."
am: deb19a631f

Change-Id: Ia1ebf75cd3c0a9640fa5f2367fb40d00ffeca2ad
2017-05-03 17:52:01 +00:00
Christopher Ferris deb19a631f Merge "Move libc_logging to libasync_safe." 2017-05-03 17:43:35 +00:00
Mark Salyzyn a255ab0cb0 Merge "libcutils: convert fs_config.cpp"
am: c50245e43e

Change-Id: I0681d0477f9782b0616ee65d8996db716541caab
2017-05-03 16:52:39 +00:00
Treehugger Robot c50245e43e Merge "libcutils: convert fs_config.cpp" 2017-05-03 16:48:44 +00:00
Felipe Leme 35d7f65654 Merge "Don't display bugreport progress when it recedes, for real..."
am: 499af38623

Change-Id: I823fc5af425ddd5edfa747929a62a4003fabacbc
2017-05-03 15:27:35 +00:00
Treehugger Robot 499af38623 Merge "Don't display bugreport progress when it recedes, for real..." 2017-05-03 15:21:26 +00:00
Mark Salyzyn 163ecc68c7 libcutils: convert fs_config.cpp
C++ify fs_config.c

Test: gTest libcutils-test
Bug: 37703469
Change-Id: Id48ae22f203ed923942257575296c69b32345ae6
2017-05-03 08:04:35 -07:00
Christopher Ferris ac225780dd Move libc_logging to libasync_safe.
Move the name of the "private/libc_logging.h" header to <async_safe/log.h>.

For use of libc_malloc_debug_backtrace, remove the libc_logging library.
The library now includes the async safe log functions.

Remove the references to libc_logging.cpp in liblog, it isn't needed because
the code is already protected by a check of the __ANDROID__ define.

Test: Compiled and boot bullhead device.
Test: Run debuggerd unit tests.
Test: Run liblog unit tests on target and host.
Test: Run libmemunreachable unit tests (these tests are flaky though).
Change-Id: Ie79d7274febc31f210b610a2c4da958b5304e402
2017-05-02 18:38:46 -07:00
Bowgo Tsai ad7c7fe1aa Merge "init: fix first stage mount failure due to /dev/device-mapper not found"
am: 0447a3e5d1

Change-Id: Ie0ad21fc28ea7a692ef7b3dfbb663e8f6f3dfe93
2017-05-03 01:36:11 +00:00
Treehugger Robot 0447a3e5d1 Merge "init: fix first stage mount failure due to /dev/device-mapper not found" 2017-05-03 01:33:07 +00:00
Elliott Hughes 4b6b4e02ed Merge "Preserve errno better in native_handle functions."
am: dd6e73f432

Change-Id: Idbaadca2f8cdf450b47fc95a7a127e009a17740d
2017-05-03 01:07:09 +00:00
Elliott Hughes dd6e73f432 Merge "Preserve errno better in native_handle functions." 2017-05-03 01:02:21 +00:00
Elliott Hughes f2fe436d32 Merge "Improve "adb sideload" error reporting."
am: 66b25eb810

Change-Id: I46c6ec422611f6f930aa8658f8a91ca41b3b1824
2017-05-03 00:56:08 +00:00
Elliott Hughes 66b25eb810 Merge "Improve "adb sideload" error reporting." 2017-05-03 00:51:09 +00:00
Elliott Hughes 09e794c05d Improve "adb sideload" error reporting.
Rather than quietly fall through to the legacy code with no explanation,
say why the first connection failed, and that the second attempt is only
going to be relevant for folks trying to sideload to a pre-KitKit device.

Before:

  $ adb sideload mysid-ota-424425.zip
  opening 'mysid-ota-424425.zip'...
  connecting...
  falling back to older sideload method...
  error: closed

After:

  $ adb sideload mysid-ota-424425.zip
  adb: sideload connection failed: no devices/emulators found
  adb: trying pre-KitKat sideload method...
  adb: pre-KitKat sideload connection failed: no devices/emulators found

Also switch the legacy code to just read+write blocks rather than trying to
load the whole OTA package into RAM (which is in short supply on Win32).
This is probably of no practical use other than that it lets us report a
better error message (better than "terminate called after throwing an
instance of 'std::bad_alloc'").

Bug: https://issuetracker.google.com/37139736
Test: "adb sideload" with no device/a mysid/an angler
Change-Id: Ia568044aac61bd054301ebfd7fcd5ad5d6f3147a
2017-05-02 14:41:04 -07:00
Felipe Leme 4cc03611cd Don't display bugreport progress when it recedes, for real...
The previous fix was taking account just the progress reported by dumpstate,
not progress/percentage. As such, it was not detecting the cases where the
percentage decreased but the progress didn't.

Bug: 37878670
Test: m -j32 adb_test && ./out/host/linux-x86/nativetest64/adb_test/adb_test --gtest_filter=BugreportTest.*

Change-Id: I5830028f3191a9b17f63aeed5c049b29fa7d1179
2017-05-02 10:08:39 -07:00
Bowgo Tsai ea5fca4cd0 init: fix first stage mount failure due to /dev/device-mapper not found
It has been reported that fs_mgr failed to open /dev/device-mapper
during the first stage mount. It's because other uevent (e.g., i2c
charger device) happens to be sent at the same time we're triggering
the device-mapper uevent to be sent. Current implementation returns
COLDBOOT_STOP unconditionally so it will only process the first received
uevent, leaving device-mapper uevent unhandled when the race happens.

Fix this by only returning COLDBOOT_STOP when the received uevent->path
matches that of device mapper.

Bug: 37745254

Test: first stage mount /vendor with vboot 2.0 (avb) on bullhead
Test: first stage mount /vendor with vboot 1.0 on sailfish
Change-Id: I4a77093ec8f90a5ca981a088f34d082d0270533b
2017-05-03 00:38:43 +08:00
David Zeuthen 2b3a568171 Merge "adb: Support 'adb enable/disable-verity' when using AVB."
am: 8fc6cc8910

Change-Id: I00ac80a2b878525a543e5fe080a9c5b147b0b141
2017-05-02 15:29:57 +00:00
Treehugger Robot 8fc6cc8910 Merge "adb: Support 'adb enable/disable-verity' when using AVB." 2017-05-02 15:24:25 +00:00