Commit Graph

27383 Commits

Author SHA1 Message Date
Mark Salyzyn ae2abf112c logd: correctly label identical lines
Move lastTid array from local in LogBuffer::flushTo to per-reader
context in LogTimes::mLastTid and pass into LogBuffer::flushTo.

Replace NULL with nullptr in touched files.

Simplify LogTimeEntry::cleanSkip_Locked initialization of skipAhead
to memset, to match mLastTid memset initialization.

Test: gTest liblog-unit-tests, logd-unit-tests & logcat-unit-tests
Test: adb logcat -b all | grep chatty | grep -v identical
Bug: 36488201
Change-Id: I0c3887f220a57f80c0490be4b182657b9563aa3f
2017-03-31 13:56:38 -07:00
Tom Cherry cf29755e28 Merge "Make init builtin command installkey respect property updates" 2017-03-31 16:41:02 +00:00
Treehugger Robot 5c4af9698c Merge "fs_mgr_avb_ops: stores the by-name prefix of /misc instead of fstab struct" 2017-03-31 04:10:37 +00:00
Treehugger Robot 2e0f8a3b13 Merge "fs_mgr_avb: allow top-level vbmeta struct to be in 'boot' partition" 2017-03-31 03:46:25 +00:00
Treehugger Robot 85a6ca459f Merge changes I20670684,If38c6d14,I94889125,I66169ed5
* changes:
  tombstoned: add tests for b/36685795.
  tombstoned: fix a race between intercept and crash_dump.
  tombstoned: refactor request dequeuing a bit.
  tombstoned: don't increment num_concurrent_dumps until success.
2017-03-31 02:37:22 +00:00
Bowgo Tsai f5bbfd64a9 fs_mgr_avb_ops: stores the by-name prefix of /misc instead of fstab struct
fs_mgr_avb_ops->read_from_partition() relies on the by-name prefix to
get the device file when reading a partition. Previously we store the
fstab struct and use fs_mgr_get_entry_for_mount_point() for every read.

It's better to do that once and store the by-name prefix for later use.

Bug: 33254008
Test: test AVB on bullhead
Change-Id: Ie999851b529f984e29ccbf39fb52a8220056fe0c
2017-03-31 10:25:04 +08:00
Wonsik Kim 3428d0c2c0 Merge "Revert "init: use read_file and write_file to implement do_copy builtin"" 2017-03-31 00:22:00 +00:00
Wonsik Kim 395e29472f Revert "init: use read_file and write_file to implement do_copy builtin"
This reverts commit 82bac0de6d.

Change-Id: Ibfdf453bd85ba4fcd1948b78bd22e639a883653e
2017-03-31 00:18:13 +00:00
Josh Gao c1314c8b13 Merge "Revert "adb: check our socketpair ends in our win32 emulation."" 2017-03-30 23:54:24 +00:00
Josh Gao 352a84574d tombstoned: add tests for b/36685795.
Add some tests for edge cases which may have triggered b/36685795.

Bug: http://b/36685795
Test: debuggerd_test
Change-Id: I20670684c8dae422af157be21e44ba5d6d3214d3
2017-03-30 16:49:19 -07:00
Josh Gao 460b336d6a tombstoned: fix a race between intercept and crash_dump.
Previously, there was no way to detect when tombstoned processed an
intercept request packet, making it possible for a intercept request
followed by a crash_dump being processed in the wrong order.

Add a response to intercept registration, to eliminate this race.

Test: debuggerd_test
Change-Id: If38c6d14081ebc86ff1ed0edd7afaeafc40a8381
2017-03-30 16:49:02 -07:00
Josh Gao 807a45807b tombstoned: refactor request dequeuing a bit.
Also make it loop, so that upon failing to start a dequeued crash
request, we continue to the next one.

Bug: http://b/36685795
Test: debuggerd_test
Change-Id: I94889125f16f4681c6fa0fa9cac456302602ce01
2017-03-30 16:19:53 -07:00
Calin Juravle 23fc5afa2d Merge "Set libnativeloader style to clang-format-2" 2017-03-30 22:28:06 +00:00
Calin Juravle 2c317ceaba Merge "Set libnativebridge style to clang-format-2" 2017-03-30 22:27:56 +00:00
Josh Gao 13078245a0 tombstoned: don't increment num_concurrent_dumps until success.
Previously, we would increment num_concurrent_dumps and fail to
decrement it if we failed to start the request. Change this to
only increment after we've successfully started the dump.

Bug: http://b/36685795
Test: debuggerd_test
Change-Id: I66169ed56ed44271e1d8fe1298d95260be7a32a3
2017-03-30 14:51:38 -07:00
Josh Gao 3726a0195b Revert "adb: check our socketpair ends in our win32 emulation."
This reverts commit 5990191c4e.

Some Windows users are seeing mismatches between the two ends.

Bug: https://code.google.com/p/android/issues/detail?id=258400
Test: mma
Change-Id: Ie3a121a2754332608ff64b3b016adcb4258d41f3
2017-03-30 13:12:37 -07:00
Treehugger Robot c65f842cd1 Merge "Add test config to libcutils_test_static" 2017-03-30 18:26:33 +00:00
Christopher Ferris ce12417925 Merge "Add DwarfMemory class." 2017-03-30 18:10:29 +00:00
Bowgo Tsai 37a0b318ef fs_mgr_avb: allow top-level vbmeta struct to be in 'boot' partition
get_hashtree_descriptor() currently restricts HASHTREE descriptor to be
either in /vbmeta or in the same partition for dm-verity setup.

Also allows it to be from /boot partition because the top-level vbmeta
might be appended at /boot in legacy devices without /vbmeta.

Bug: 35880930
Test: test AVB on bullhead with top-level vbmeta being at /boot
Change-Id: I1ebd16a3c9f17bced6055146e8843b5918a737eb
2017-03-30 20:37:12 +08:00
Dan Shi d8f533aab2 Add test config to libcutils_test_static
Design doc:
Generalized Suites & the Unification of APCT & CTS Workflows Design/Roadmap
https://docs.google.com/document/d/1eabK3srlBLouMiBMrNP3xJPiRRdcoCquNxC8gBWPvx8/edit#heading=h.78vup5eivwzo

Details about test configs changes are tracked in doc
https://docs.google.com/document/d/1EWUjJ7fjy8ge_Nk0YQbFdRp8DSHo3z6GU0R8jLgrAcw/edit#

Bug: 35882476
Test: local test
Change-Id: I9faa1c929fff43635aff06b4228501e1227c4d06
2017-03-29 23:13:08 -07:00
Treehugger Robot 9ead7c4a74 Merge "send SIGTERM only once" 2017-03-30 04:10:41 +00:00
Treehugger Robot c8a575588a Merge "add killProcessGroupOnce" 2017-03-30 01:46:59 +00:00
Treehugger Robot 273a0624c5 Merge "init: consolidate restorecon after selinux initialization in single function" 2017-03-30 00:48:04 +00:00
Calin Juravle c169b2018f Set libnativeloader style to clang-format-2
Test: clang-format.py ...
Change-Id: I322c134c1e6b58b2c4ea21b6dfac5727860604c2
2017-03-29 17:33:12 -07:00
Calin Juravle bac9807247 Set libnativebridge style to clang-format-2
Test: clang-format.py ...
Change-Id: Ie08ae6a056f0381590e202a597042fb2490af530
2017-03-29 17:29:57 -07:00
Janis Danisevskis 9cc51728af Make init builtin command installkey respect property updates
init used to block on installkey such that it was unable to
process property events. This lead to a deadlock by which
the Keymaster HAL would wait indefinitely for the
hwservicemanager.ready=true. 

This fixes the issue by implementing the builtin in terms of 
do_exec, which allows init to stay responsive to properties 
while waiting for the child to terminate.

Bug: 36278706
Test: Add a 3s delay into hwservicemanager before it sets the property
      hwservicemanager.ready and the device still boots.

Change-Id: Iaefd31156ca01f3a44b4f85a8bf78beee8dfe224
2017-03-30 00:11:48 +00:00
Keun-young Park acd55b39fe send SIGTERM only once
- Processes capturing SIGTERM signal will not terminate and
  killProcessGroup will timeout after retry. This gives 200ms
  of waiting per such process. Change it to retry only once as
  SIGTERM will keep failing for such process.

bug: 36696408
Test: check time spent in SIGTERM for reboot
Change-Id: I9b0843614598dd3f97a50b21352046297ed70b6b
2017-03-29 16:33:25 -07:00
Keun-young Park fac4b63eff add killProcessGroupOnce
- killProcessGroup retries if it fails while
  killProcessGroupOnce only tries once.
- useful for sending signal like SIGTERM once.

bug: 36696408
Test: will add usage to init
Change-Id: Ia1e3d4ec848e785a3238f262b02914695cded4c7
2017-03-29 16:33:15 -07:00
Sandeep Patil 7ef60b4ed4 init: consolidate restorecon after selinux initialization in single function
Test: Boot sailfish
Change-Id: I423028f12a84c4e0c12c9bdde52b6d795d45b620
(cherry picked from commit 74df5bab16)
Signed-off-by: Sandeep Patil <sspatil@google.com>
2017-03-29 16:01:31 -07:00
Treehugger Robot 6fb2ef1d03 Merge "set zero shutdown timeout for eng build" 2017-03-29 21:25:19 +00:00
Keun-young Park c4ffa5c47d set zero shutdown timeout for eng build
- still it will take time to kill services, < 3 secs in tested device.

bug: 36678028
Test: reboot
Change-Id: I3f3eb83aede8cd950da12e3fcc259eeaf8517c3b
2017-03-29 12:25:33 -07:00
Treehugger Robot 8772b3686e Merge changes from topic 'exec-start-update-verifier'
* changes:
  init.rc: launch update_verifier with exec_start
  init: add exec_start command
2017-03-29 18:39:32 +00:00
Treehugger Robot 7bcce1e3c0 Merge "init: replace property_get with its android::base equivalent" 2017-03-29 18:28:51 +00:00
Tom Cherry ccf23537ee init: replace property_get with its android::base equivalent
Slowly try to decouple property_service.cpp from the rest of init.

Test: Boot bullhead
Change-Id: I267ae0b057bca0bf657b97cb8bfbb18199282729
2017-03-29 10:07:54 -07:00
Treehugger Robot ec16825cb8 Merge "Update to support staging behavior" 2017-03-29 12:39:47 +00:00
Neil Fuller ae52ab2acf Update to support staging behavior
The tzdatacheck binary is being modified to support
"staging" of an install / uninstall. tzdatacheck is now
responsible for making time zone distros "live" during
boot. It was previously the responsibility of the
TimeZoneDistroInstaller.

Bug: 31008728
Test: Manual testing
Test: CTS: run cts -m CtsHostTzDataTests

Change-Id: I1d390bf2b383a9505320e3455a20ae640bf83d7b
2017-03-29 10:56:45 +01:00
Treehugger Robot 58c1804653 Merge "Make demangle work more like c++filt." 2017-03-29 05:02:42 +00:00
Treehugger Robot 20e43a2f2c Merge "init: remove unused cutils includes" 2017-03-29 01:27:19 +00:00
Elliott Hughes 102183ee66 Make demangle work more like c++filt.
Also tweak the help output to fit the toybox style.

Bug: N/A
Test: readelf -aW | demangle
Change-Id: I110b9e385f583d5047c785364c8a5a33575d8357
2017-03-28 17:38:01 -07:00
Tom Cherry 1ec1bd918c init: remove unused cutils includes
Test: Boot bullhead
Change-Id: I629f9c3863f00fa38f87a68442c2380d28764718
2017-03-28 16:22:33 -07:00
Tom Cherry 1e2d8c7fce init.rc: launch update_verifier with exec_start
This allows update_verifier to raise it's priority and ioprio.

Bug: 36511808
Bug: 36102163
Test: Boot bullhead
Test: Verify boottime decrease on sailfish
Change-Id: I5710c6a98dc7acee9063d1fa1d1c80668f0f1528
2017-03-28 15:54:45 -07:00
Treehugger Robot e0bec6b11e Merge "libcutils: remove sched_set/getscheduler" 2017-03-28 22:32:29 +00:00
Christopher Ferris e3b27d22bf Merge "Only allow short functions in class definitions." 2017-03-28 21:20:17 +00:00
Tom Cherry 57d78354d6 Merge "Fix timeouts for android::base::WaitForProperty*" 2017-03-28 20:38:24 +00:00
Wei Wang a8d59faa75 libcutils: remove sched_set/getscheduler
Bug: 36667354
Test: angler taking video
Change-Id: Ie7fbcccbd02314468c03317319574ee7e433561d
2017-03-28 13:01:20 -07:00
Christopher Ferris a11c814d3d Only allow short functions in class definitions.
The previous rules would force short functions to be on a single line.
This change only allows single function lines in class definitions.

Test: Ran on a CL and verified single line functions only allowed in
Test: class defintions.
Change-Id: I5422543fdbb39da842bbd799c19fe2c443ff483c
2017-03-28 12:31:37 -07:00
Mark Salyzyn 6105dbd01b Merge "libcutils: handle root directory empty path" 2017-03-28 17:09:15 +00:00
Treehugger Robot c8c3e61eeb Merge "fs_mgr: change the log level in fs_mgr_get_boot_config()" 2017-03-28 15:43:56 +00:00
Mark Salyzyn 6b11faeb42 Merge "logd: strip out empty trailing iovec" 2017-03-28 15:00:38 +00:00
Jeremy Compostella 3d642d48e2 libcutils: handle root directory empty path
Usually, the canned paths lack the leading '/' which means that the
root directory is an empty path.  This patch makes
load_canned_fs_config() handle this empty path as the root directory.
It also make it flexible enough to handle an optional leading '/'.

Original-Author: Jeremy Compostella <jeremy.compostella@intel.com>
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
Signed-off-by: Gaelle Nassiet <gaellex.nassiet@intel.com>
Change-Id: Ice759ef37d1df23a54df1158ec0d3ad7f577a069
2017-03-28 14:57:22 +00:00