Commit Graph

27167 Commits

Author SHA1 Message Date
Treehugger Robot e7b335b471 Merge "logcat: test: tail_# occasional failures" 2017-03-15 18:55:26 +00:00
Treehugger Robot 54182110ae Merge "Move "fastboot oem" to std::string." 2017-03-15 18:28:12 +00:00
Elliott Hughes 4a66730d6a Move "fastboot oem" to std::string.
Not sure how this code got missed when we moved everything else off
C string handling...

  $ adb reboot bootloader
  $ fastboot oem `perl -e 'print "x"x1024;'`

Before:
  <crashes>

After:
  error: Command length (1028) exceeds maximum size (64)

(The error says 1028 instead of 1024 because it includes the "oem ".)

Bug: http://b/36232671
Test: fastboot oem `perl -e 'print "x"x1024;'`
Change-Id: Ib4664e49222bd2b71be5aa3fe81f386d6073414f
2017-03-15 09:40:28 -07:00
Treehugger Robot 913ad12543 Merge "Logd: Fix wrong parameters" 2017-03-15 15:38:14 +00:00
Treehugger Robot 3d028f14c8 Merge "Fix heap-buffer-overflow detected by ASAN." 2017-03-15 06:46:28 +00:00
Andreas Gampe 34450d70c5 Logd: Fix wrong parameters
Better keep the right order, or ASAN will complain when you read
out of bounds.

Bug: 36234128
Test: m
Test: m && m SANITIZE_TARGET=address
Test: Sanitized device boots without ASAN crashes
Change-Id: Ifc09cb0ece6835d2b636a3ad2128e09ca9aa45c9
2017-03-14 20:43:43 -07:00
Treehugger Robot 97a2c49a58 Merge "libcutils: android_reboot: add thermal shutdown command" 2017-03-15 02:11:40 +00:00
Todd Poynor 37bba3b88a libcutils: android_reboot: add thermal shutdown command
Add ANDROID_RB_THERMOFF command to android_reboot(), denoting a power
off due to thermal limits exceeded.  When this command is used, Android
may provide notification to the user about the potentially unexpected
power off at next boot.

Bug: 30994946
Test: Manual: setprop sys.powerctl thermal-shutdown
Change-Id: If2cde1b6a3c281a5750b50295412a4801ed5b2f2
2017-03-14 17:58:25 -07:00
Tom Cherry 41c7bb5055 Merge "Remove extraneous .clang-format files" 2017-03-15 00:46:44 +00:00
Mark Salyzyn d70f246f8a logcat: test: tail_# occasional failures
When PID becomes 5 digits, fgetLongTime fails

Test: gTest logcat-unit-tests --gtest_filter=*.tail_*
Bug: 27319267
Change-Id: I9cc636ed9955a317eb3b0ff0a820a50b800b7e0d
2017-03-14 15:35:15 -07:00
Evgenii Stepanov 03fc2fedd7 Fix heap-buffer-overflow detected by ASAN.
Bug: 34949125
Bug: 34606909
Test: Make sure Android boots when built with SANITIZE_TARGET='address'
Change-Id: I9c004e806f2025098aa72228284b05affd2c2802
2017-03-14 14:47:25 -07:00
Tom Cherry 5b4eb23cfd Remove extraneous .clang-format files
The .clang-format files in the base, debuggerd, adb, libprocinfo, and
fastboot subdirectories each differ slightly from the top level
.clang-format-2 and .clang-format-4, but not in a substantially
meaningful way, as the source files in those directories have not been
re-formatted with clang-format.  Therefore, let's reduce the
differences and use only the two top level clang-format files.

Secondly perform some small clean-up of the top level .clang-format
files.  AllowShortBlocksOnASingleLine is already false in the Google
style, so it can be removed.  AllowShortFunctionsOnASingleLine should
not change between the -2 and -4 versions, so leave it at the Google
default style in both, which is 'All'.

The diff stats for these changes are:

./base/
Old:
640 insertions(+), 531 deletions(-)
New:
563 insertions(+), 808 deletions(-)

./debuggerd/
Old:
910 insertions(+), 886 deletions(-)
New:
991 insertions(+), 1023 deletions(-)

./adb/
Old:
2623 insertions(+), 2886 deletions(-)
New:
2655 insertions(+), 3103 deletions(-)

./libprocinfo/
Old:
2 insertions(+), 1 deletion(-)
New:
4 insertions(+), 18 deletions(-)

./fastboot/
Old:
618 insertions(+), 743 deletions(-)
New:
726 insertions(+), 882 deletions(-)

./init/
Old:
1755 insertions(+), 1866 deletions(-)
New:
1715 insertions(+), 1952 deletions(-)

Test: Above clang-format stats
Change-Id: I3f7b8ab0660c8394c5008ba95ea15e70dd22b55b
2017-03-14 14:06:31 -07:00
Tom Cherry f31abeb973 Merge "init: fix DumpState() logging" 2017-03-14 20:12:48 +00:00
Christopher Ferris 1252eba600 Merge "Use the clang format 2 space as default." 2017-03-14 20:11:32 +00:00
Christopher Ferris 87bf2082cf Use the clang format 2 space as default.
Test: NA
Change-Id: I97418804086b83cfba1765eb0bee3e7ca18fb4ea
2017-03-14 13:06:19 -07:00
Treehugger Robot 0b4d34e31c Merge "ueventd: support by-name symlinks for virtual block devices" 2017-03-14 19:29:35 +00:00
Tom Cherry e3aef3dd99 Merge "init: enable C++17" 2017-03-14 17:17:40 +00:00
Christopher Ferris 26afd16917 Merge "Add a binary to dump demangled names." 2017-03-14 16:44:01 +00:00
Treehugger Robot fa05eaa968 Merge changes Iaddc4e1b,I57d84af2
* changes:
  liblog: test: __android_log_btwrite__android_log_close precharge
  logcat: test -v epoch tail time
2017-03-14 14:43:53 +00:00
Treehugger Robot e6b05dc683 Merge "init: Remove custom clang-format" 2017-03-14 01:00:37 +00:00
Mark Salyzyn c500abb40b liblog: test: __android_log_btwrite__android_log_close precharge
TEST_PREFIX missing before operations on
liblog*.__android_log_btwrite__android_log_close tests

Test: gTest liblog-unit-tests
Bug: 27405083
Change-Id: Iaddc4e1b1f9afcfd8231c3921605fecefd2b56bf
2017-03-13 16:29:04 -07:00
Mark Salyzyn 210095136d logcat: test -v epoch tail time
Test: gTest logcat-unit-tests
Bug: 35373582
Change-Id: I57d84af2eb5d1fce8753539edf3133bfe0bb7213
2017-03-13 16:29:04 -07:00
Tom Cherry 62a9f32344 init: Remove custom clang-format
Use a symlink to .clang-format-4 from the parent directory now that we
have it, instead of the custom .clang-format in this directory.

The changes between these files are,
Old:
ConstructorInitializerAllOnOneLineOrOnePerLine: false
TabWidth: 8
New:
ConstructorInitializerAllOnOneLineOrOnePerLine: true
TabWidth: 4

There is no reason to keep a custom .clang-format for these two
changes, and setting ConstructorInitializerAllOnOneLineOrOnePerLine to
true will be beneficial.

Test: Run clang-format and see that its output is sane
Change-Id: I5b357949eb02a60577cf57a783c0a80997b24e75
2017-03-13 16:23:20 -07:00
Christopher Ferris a11dc8f962 Add a binary to dump demangled names.
Test: Ran the executable and verified names get demangled.
Test: Ran with the -c option to verify it compares demangled names.
Change-Id: I9118ccc4398980346d26f615cdfed0bb756b52fe
2017-03-13 16:10:08 -07:00
Treehugger Robot c5933ed960 Merge "crash_dump: fix warnings, turn on -Werror." 2017-03-13 22:38:44 +00:00
Mark Salyzyn eb4a9d9588 Merge "logd: specify clang format" 2017-03-13 22:13:32 +00:00
Josh Gao c7fe0600cc crash_dump: fix warnings, turn on -Werror.
Test: mma
Change-Id: I0722fef7b513be976cbbe89f73e8bb7138a80442
2017-03-13 14:13:29 -07:00
Christopher Ferris f161e00289 Merge "Restore errno in signal handlers." 2017-03-13 20:50:20 +00:00
Christopher Ferris 3f4f1a1a4a Merge "Implement a simple demangler." 2017-03-13 19:39:41 +00:00
Tom Cherry d8a7257b14 init: fix DumpState() logging
Fix two formatting issues in Action::DumpState(),

Old:
on ro.crypto.state=encrypted ro.crypto.type=file zygote-start
New:
on ro.crypto.state=encrypted && ro.crypto.type=file && zygote-start

Old:
on boot
  %sifup lo
  %shostname localhost
  %sdomainname localdomain
  %swrite /proc/sys/vm/overcommit_memory 1
New:
on boot
  ifup lo
  hostname localhost
  domainname localdomain
  write /proc/sys/vm/overcommit_memory 1

Also, now that we're importing many small rc files, it no longer makes
sense to call Parser::DumpState() after each import.  Therefore, move
the conditional to call Parser::DumpState() to after /init.rc and its
imports are parsed and after the late imports are parsed.

Test: Boot bullhead with DumpState() enabled and check the output
Change-Id: I0b81305b8938aa1a7133d7dd2055f34f47609cf9
2017-03-13 12:24:49 -07:00
Tom Cherry 2bc00140be init: enable C++17
Test: Boot bullhead
Change-Id: I40961ff765461e8aef211d27158ffb7c4be76493
2017-03-13 11:58:58 -07:00
Mark Salyzyn 501c373916 logd: specify clang format
Switch _all_ file's coding style to match to ease all future changes.

SideEffects: None
Test: compile
Bug: 35373582
Change-Id: I470cb17f64fa48f14aafc02f574e296bffe3a3f3
2017-03-13 10:31:09 -07:00
Treehugger Robot 488525b47b Merge "fs_mgr: fix errno setted by mount_with_alternatives" 2017-03-12 03:27:14 +00:00
Treehugger Robot 76850afa52 Merge "libutils: String\d+ make std_string private" 2017-03-11 08:55:10 +00:00
Steven Moreland 2aac335128 libutils: String\d+ make std_string private
This method is still used by prebuilts, but making it private to start
the process of removing it from everywhere.

Test: pass
Bug: 35363681
Change-Id: I4d53f68d10c9abcca32023c4d930e99912afa697
2017-03-10 22:51:55 -08:00
Treehugger Robot eca92a5a6f Merge "adb: replacing fs_mgr_read_fstab() with fs_mgr_read_fstab_default()" 2017-03-11 03:48:49 +00:00
Josh Gao bc8433d582 Merge changes I7d394c66,I737d66e8
* changes:
  crash_dump: improve logging for when a process dies prematurely.
  debuggerd_handler: restore errno.
2017-03-11 01:45:28 +00:00
Bowgo Tsai 66ee277353 adb: replacing fs_mgr_read_fstab() with fs_mgr_read_fstab_default()
The original default /fstab.{ro.hardware} might be moved to
/vendor/etc/. or /odm/etc/. Use the new API to get the default
fstab instead of using the hard-coded /fstab.{ro.hardware}.

Bug: 35811655
Test: boot marlin with /vendor/etc/fstab.marlin, then run 'adb remount'
Change-Id: I927209ce3c5bea45c01ed631a7c4c320fe728c00
2017-03-11 09:37:56 +08:00
Treehugger Robot 75b66a6f2a Merge "init.rc: enable ledtrig-transient support for vibrator" 2017-03-11 01:23:18 +00:00
Treehugger Robot 2d03e64b95 Merge "Build split file_contexts on TREBLE builds" 2017-03-10 23:54:18 +00:00
Josh Gao 428daafc5b crash_dump: improve logging for when a process dies prematurely.
If a process that's getting dumped dies before crash_dump starts (e.g.
because seccomp immediately kills it after it execs crash_dump),
improve the error message to not just say "target died before we could
attach".

Bug: http://b/36077710
Test: inserted an exit in the handler, inspected output
Change-Id: I7d394c66d60d328b096b15654b3648e1ed711728
2017-03-10 14:52:34 -08:00
Christopher Ferris 9a22ae5f57 Merge "Add a 2 width option of clang format." 2017-03-10 22:46:29 +00:00
Josh Gao ec91809dae debuggerd_handler: restore errno.
Bug: http://b/31448909
Test: mma
Change-Id: I737d66e8bed5fb31c2558f68608d3df460fa73c9
2017-03-10 14:44:54 -08:00
Treehugger Robot e7195be772 Merge "ASAN: Separate SANITIZE_LITE from asan.options" 2017-03-10 21:03:56 +00:00
Christopher Ferris a78d9a293c Add a 2 width option of clang format.
Make the default the 4 tab space version.

Add a link to the 2 space version for libbacktrace.

The only other difference between the 4 space and 2 space tab version
is that the 2 space tab version allows short functions on a single line.
This is for things like constructors, short destructors, or accessor
functions. I believe this is closer to the Google C++ style guide.

Bug: 36046320

Test: NA
Change-Id: Ida08db18902eeb101f42869dd5590182529d54ef
2017-03-10 13:01:39 -08:00
Treehugger Robot e02eba8fd2 Merge "adb: properly erase destroyed jdwp_trackers." 2017-03-10 20:54:51 +00:00
Josh Gao 6def9bd67c adb: properly erase destroyed jdwp_trackers.
std::remove_if moves to-be-removed elements to the end of the vector
and returns an iterator that must be .erased.

Bug: http://b/35772578
Test: mma
Change-Id: Idfe8520e176204ac5ce000c30704873a3ffe6c9c
2017-03-10 11:24:37 -08:00
Andreas Gampe 21bb2e0388 ASAN: Separate SANITIZE_LITE from asan.options
Add SANITIZE_LITE_SERVICES to drive usage of asan.options for a
large set of native services.

Test: m SANITIZE_TARGET=address SANITIZE_LITE=true
Test: m SANITIZE_TARGET=address SANITIZE_LITE=true SANITIZE_LITE_SERVICES=true
Change-Id: I84458dcc1b193b762daeb3004cf6c49e2fd8fae2
2017-03-10 10:48:00 -08:00
Christopher Ferris 10ab87f646 Restore errno in signal handlers.
There was a problem where errno could be set in a signal handler
and cause bugs if other system calls were interrupted.

There isn't strong evidence this is causing any issues, but add this
proactively.

Bug: 31448909

Test: Ran the backtrace unit tests, backtraces few random processes,
Test: forced the ANR path for some zygote based processes.
Test: Ran the art ThreadStress test a few times.
Change-Id: I5abc9e330a5e86cea7015e2362f66044c6bc37d0
2017-03-10 10:13:48 -08:00
Treehugger Robot ce7ee088ff Merge changes I7c1c0f3d,I670cb0b7,Id426d5c5
* changes:
  liblog: replace "frontend" with "transport"
  liblog: stay away from C++ keyword private
  liblog: specify clang format
2017-03-10 15:15:22 +00:00