Commit Graph

38340 Commits

Author SHA1 Message Date
Elliott Hughes ecff589728 Merge "Fix a few demangler issues." 2018-02-12 18:54:29 +00:00
Christopher Ferris 643f1e93ae Merge "Clear dex pc to avoid duplicate frames." 2018-02-12 18:44:20 +00:00
Christopher Ferris a8c397317d Clear dex pc to avoid duplicate frames.
Bug: 73228466

Test: Passes new unit tests, fails without change.
Change-Id: I3660bfd16cbf2d5cf96490ca7714bc5f97914884
2018-02-12 08:46:19 -08:00
Christopher Ferris e37e2d05b1 Fix off by 4 error handling eh_frame hdr.
- Add a new tool that can dump the register information given a pc.
- Add a new offline unwinder test that fails without this change.
- Update unit tests.
- Refactor offline unwind tests to make it easier to add tests.

Bug: 73048324

Test: Passes new unit tests.
Test: Passes libbacktrace unit tests.
Test: Ran debuggerd -b on random processes.
Change-Id: If6c70a044299505c2274ae6888b35bf9ac34b74b
2018-02-10 17:11:23 -08:00
Daniel Colascione 642ef98b3b Support * as a wildcard for ATRACE_TAG_APP
Test: strcmp
Change-Id: I33ec3ae071e3856538444663bbabb3c779ed8afa
2018-02-09 20:08:19 -08:00
Josh Gao 135dacd4d1 Merge "debuggerd_fallback: fix race."
am: cd2fa1f432

Change-Id: Ie074a05e7eacbf8234c4ece44e98a9f8b5b96a2e
2018-02-10 01:59:44 +00:00
Treehugger Robot cd2fa1f432 Merge "debuggerd_fallback: fix race." 2018-02-10 01:44:07 +00:00
Elliott Hughes d7bb826a9c Fix a few demangler issues.
Specifically:

  * rvalue references.

  * St does not require N...E delimiters (explicit special case in the spec).

  * ".cfi" suffixes.

Bug: http://b/67678053
Test: ran tests
Change-Id: If8cabad448b46b165eefc6c5487996428c9c6975
2018-02-09 17:34:55 -08:00
Josh Gao c531ed6648 debuggerd_fallback: fix race.
A race condition occurs when one thread takes more than a second to get
scheduled to handle the signal we send to ask it to dump its stack.
When this happens, the main thread will continue on, close the fd, and
then ask the next thread to dump, but the slow thread will then wake up
and try to write to the new thread's fd, or trigger an assertion in
__linker_enable_fallback_allocator.

Do a few things to make this less bad:
  - encode both target tid and fd in the shared atomic, so that we know
    who each fd is for
  - switch __linker_enable_fallback_allocator to return success instead
    of aborting, and bail out if it's already in use
  - write to the output fd right when we get to it, instead of doing it
    whenever the dumping code decides to, to reduce the likelihood that
    the timeout expires

Test: debuggerd_test
Change-Id: Ife0f6dae388b601e7f991605f14d7a0274013f6b
2018-02-09 15:35:40 -08:00
Daniel Colascione c9d48b25fc Merge "Add explanation for clone use"
am: bac72c884f

Change-Id: Ica0d295c327b0b8c20cf5feac859acec4222b48d
2018-02-09 22:07:47 +00:00
Christopher Ferris 8711fbb08c Merge "Expose per arch headers."
am: 99888af9f1

Change-Id: Ic26c025b5edae7867795c38074e6314b75d75d89
2018-02-09 22:05:57 +00:00
Daniel Colascione bac72c884f Merge "Add explanation for clone use" 2018-02-09 19:33:09 +00:00
Christopher Ferris 99888af9f1 Merge "Expose per arch headers." 2018-02-09 19:23:31 +00:00
Josh Gao 6ab5e9c96b Merge "debuggerd: update policy for recent sigaction changes."
am: 26b69296fe

Change-Id: I62891c34504f650a2b4c808f0e5cd4d38fe95e30
2018-02-09 07:23:47 +00:00
Treehugger Robot 26b69296fe Merge "debuggerd: update policy for recent sigaction changes." 2018-02-09 07:12:50 +00:00
Christopher Ferris 53914165e4 Expose per arch headers.
Bug: 73013352

Test: Compiles.
Change-Id: Ic05660db7d7858a9857143ee5e58cdaddcf52a35
2018-02-08 19:29:08 -08:00
Josh Gao 08cd23e732 debuggerd: update policy for recent sigaction changes.
Commit 3e235911 in bionic switched LP32's sigaction implementation over
to using the rt_sigaction syscall, matching LP64. Update our seccomp
policy to match.

Bug: http://b/73119572
Test: debuggerd_test32
Change-Id: I0a662a1c874298d434468d2dcdb4ebf9f276110c
2018-02-08 16:48:03 -08:00
Daniel Colascione b650aef2a0 Add explanation for clone use
Test: no code changes
Change-Id: I70c8af8261cda3163677557fd78ae0119b1f1be0
2018-02-08 15:07:47 -08:00
David Sehr 1f5228709c Merge "Remove dependency on -no_art variant"
am: 2ccde89153

Change-Id: I73179b52f72d82b167d4bfaf38493feac89484a9
2018-02-08 21:43:44 +00:00
David Sehr 2ccde89153 Merge "Remove dependency on -no_art variant" 2018-02-08 21:26:05 +00:00
Paul Crowley 33d3758684 Merge "Revert "Don't initialize atrace if it's already disabled.""
am: c50d19c0b0

Change-Id: I55076549651d386ed7bdfab8ec05061049735271
2018-02-08 17:35:14 +00:00
Treehugger Robot c50d19c0b0 Merge "Revert "Don't initialize atrace if it's already disabled."" 2018-02-08 17:27:41 +00:00
Justin Yun 6edfca6e3b Merge changes from topic "vndk-sp-list-update"
am: 4c0ee1e8a0

Change-Id: I155e3e864678401e0858842b4bd3ace7600da381
2018-02-08 06:05:30 +00:00
Justin Yun c2ff3dbbfe Use actual VNDK list for non-VNDK-enforcing devices
am: 8a9a8eeb85

Change-Id: I2677acd9dbd266873fb12d20674e298cc9d1444c
2018-02-08 06:04:37 +00:00
Treehugger Robot 4c0ee1e8a0 Merge changes from topic "vndk-sp-list-update"
* changes:
  Rename namespace configuration source files.
  Use actual VNDK list for non-VNDK-enforcing devices
2018-02-08 05:52:02 +00:00
Josh Gao e523a6c94f Merge "adb: switch asocket::enqueue to std::string."
am: 9bf624cd3a

Change-Id: Ifd2c3237cb6f12d7b8592f42ec3c378053a01491
2018-02-08 02:34:57 +00:00
Josh Gao 157c2fa504 Merge changes I86bcfaaa,I24d7f5d0
am: f99711fe87

Change-Id: I4e21cf95ef677dd14c90830456eba400deb32eda
2018-02-08 02:30:18 +00:00
Josh Gao 9bf624cd3a Merge "adb: switch asocket::enqueue to std::string." 2018-02-08 01:06:22 +00:00
Paul Crowley 738adf7b46 Revert "Don't initialize atrace if it's already disabled."
This reverts commit e184423526.

Reason for revert: b/73081734
Bug: 73081734

Change-Id: I8ae835f5575292ebd3c4457ef26c2e8f98cfa11e
2018-02-08 00:49:37 +00:00
Josh Gao f99711fe87 Merge changes I86bcfaaa,I24d7f5d0
* changes:
  adb: restore packet data length checks.
  adb: switch asocket's intrusive linked list to vectors.
2018-02-08 00:34:40 +00:00
Jerry Zhang 3be61d3850 Remove urb request size maximum.
The 16kB maximum for transfers was removed from
the kernel in 3.3. Devio has since supported
arbitrary transfer sizes through scatter gather.

See the following kernel patches for context:
"USB: change the memory limits in usbfs URB submission"
"usbdevfs: Use scatter-gather lists for large bulk transfers"

Bug: 67683483
Test: Run usb_async_test app with USB3 : 38MB/s -> 300MB/s
Change-Id: Ia52440cb725561b0f1db1a75aa1b8ab952585826
2018-02-07 16:12:14 -08:00
Justin Yun 27bdc37fac Rename namespace configuration source files.
For strict VNDK runtime restriction, use ld.config.txt as a source
file. For treblized devices without BOARD_VNDK_VERSION, use
ld.config.vndk_lite.txt file.

Test: Build and boot on Pixel 2017 and 2018 devices.
Change-Id: Ie5b77facd4c11bc73219ecf13ad1298ac5d60d8e
2018-02-08 08:46:59 +09:00
Justin Yun 8a9a8eeb85 Use actual VNDK list for non-VNDK-enforcing devices
Rename ld.config.txt.in to ld.config.vndk.txt and
ld.config.txt to ld.config.vndk_light.txt.

For FULL_TREBLE devices without BOARD_VNDK_VERSION, update the VNDK
library list in ld.config.vndk_light.txt with the actual VNDK list.

Bug: 69526027
Test: Build marlin/sailfish and check boot
Change-Id: Idbb0cc97d11037c1493d4739e84961297ce51dbd
Merged-In: Idbb0cc97d11037c1493d4739e84961297ce51dbd
2018-02-08 08:33:15 +09:00
David Sehr 892e675a89 Remove dependency on -no_art variant
Remove an external dependency on a shim I used to protect against
renaming.

Bug: 22322814
Test: make -j 50
Change-Id: I7e6eaee7d82a1a42d4c37daa74803cefc7bb68ce
2018-02-07 15:19:22 -08:00
Todd Poynor d9960d84d1 Merge "healthd: don't report fake data for battery-less devices"
am: ab26cc4b12

Change-Id: I2597154b24428ca806d628ad567c5742722caeac
2018-02-07 20:46:07 +00:00
Treehugger Robot ab26cc4b12 Merge "healthd: don't report fake data for battery-less devices" 2018-02-07 20:38:32 +00:00
Christopher Ferris 7d362f1eb7 Merge "Check that dex pc is in a valid map."
am: 3ff3ff1c36

Change-Id: If82d8eacf0186ba49c4728bf9dfb78a781ae19e5
2018-02-07 14:58:03 +00:00
Christopher Ferris 3ff3ff1c36 Merge "Check that dex pc is in a valid map." 2018-02-07 14:50:03 +00:00
Josh Gao b652ac4bd8 Merge "adb: don't spew to logcat when tracing is enabled."
am: 28c44863f6

Change-Id: I8f848151e5df370c43382bb01bddeda0f252da67
2018-02-07 06:08:16 +00:00
Treehugger Robot 28c44863f6 Merge "adb: don't spew to logcat when tracing is enabled." 2018-02-07 05:57:46 +00:00
Mark Salyzyn c95fb64f0f Merge "lmkd: use after free"
am: 7c3c8c27e1

Change-Id: If54ce69ac7ca03a67e25a2e3a3f4392ba2a8aeca
2018-02-07 02:26:30 +00:00
Treehugger Robot 7c3c8c27e1 Merge "lmkd: use after free" 2018-02-07 01:53:15 +00:00
Josh Gao 95c4497bd4 adb: don't spew to logcat when tracing is enabled.
When persist.adb.trace_mask is used to enable verbose logging, avoid
exponential logging when a user runs `adb logcat`. As a side-effect,
set the minimum logging level to include everything when ADB_TRACE is
used on the client (which is something we want anyway).

Bug: http://b/72971016
Test: `adb shell 'setprop persist.adb.trace_mask; killall adbd'; adb logcat`
Change-Id: Id4bca1f3933a920345499dbeaeb103c8a2e220cd
2018-02-06 15:55:06 -08:00
Christopher Ferris e762f1f193 Check that dex pc is in a valid map.
Add new unit tests for dex pc being non-zero.

Bug: 73004673

Test: Ran unit tests.
Test: Ran art 137-cfi test on host for interpreter.
Change-Id: I09bbf96d0ed65fc1e5896e4ab2bc67867e3b7fdb
2018-02-06 15:00:04 -08:00
Josh Gao 27cb7dca77 adb: switch asocket::enqueue to std::string.
Switch asocket over to taking a std::string instead of apacket* for
data. This allows us to remove asocket specific fields from apacket*.

Test: python test_device.py with x86_64 emulator, walleye
Test: adb_test on host
Change-Id: I9d157ff331a75ba49a54fdd4194e3f6cdff722f4
2018-02-06 12:59:06 -08:00
Josh Gao 5caaebdc3d adb: restore packet data length checks.
These checks were moved to after the read of the payload, which is too
late. Add a check before each read to avoid a heap buffer overflow.

Test: python test_device.py with x86_64 emulator, walleye
Change-Id: I86bcfaaa9004951cc52ad89af74680cf748e717d
2018-02-06 12:59:06 -08:00
Josh Gao 5e5076404a adb: switch asocket's intrusive linked list to vectors.
Test: python test_device.py
Change-Id: I24d7f5d0401de77d80c7a2dd5a7dcb551943342d
2018-02-06 12:59:06 -08:00
Greg Hartman 4e126cd4e9 Merge "Add support for non-partitioned devices for system"
am: 9d6b55928c

Change-Id: I414e81a89dbc9505c9eeff0d1d2e2ad4fb5ad01d
2018-02-06 18:55:09 +00:00
Treehugger Robot 9d6b55928c Merge "Add support for non-partitioned devices for system" 2018-02-06 18:39:14 +00:00
David Srbecky 29379fa494 Merge "Fix in-memory loading of cdex files with shared data."
am: d663ef9772

Change-Id: I9ad148c8117897f49f34aed5e22935f5dbaf77d0
2018-02-06 11:05:44 +00:00