Commit Graph

26645 Commits

Author SHA1 Message Date
Mark Salyzyn dc40813167 Merge "trusty: use log/log.h for ALOG macros" 2017-01-13 15:32:39 +00:00
Mark Salyzyn 5654a887b1 trusty: use log/log.h for ALOG macros
Test: compile
Bug: 34250038
Change-Id: I12e7c6ea5a9ca950751fcf65352889650f198986
2017-01-13 07:30:11 -08:00
bowgotsai 47aa2a7520 fs_mgr: use std::string for function parameters in fs_mgr_dm_ioctl.cpp
Make the code more C++-ish by replacing char* or char** with
std::string&.

Bug: 31264231
Test: check device can boot with dm-verity
Change-Id: Ie3ca3f449b52959d1a7b2887d722eb5ce366c4f9
2017-01-13 17:39:04 +08:00
Treehugger Robot 5e9863bf63 Merge "libcutils: change klog_level to KLOG_INFO_LEVEL" 2017-01-13 08:08:26 +00:00
Elliott Hughes 15f0f504ac Move to .md files for even trivial documentation.
So it's automatically displayed for folks browsing the source.

Bug: N/A
Test: N/A
Change-Id: Ib595ab428054f274a92374728e3e66474ffc5116
2017-01-12 22:40:49 -08:00
Treehugger Robot a37ff0dd83 Merge "fs_mgr: moves common functions out of fs_mgr_verity.cpp" 2017-01-13 06:21:39 +00:00
Wei Wang 677ba31db2 libcutils: change klog_level to KLOG_INFO_LEVEL
Some of Android componets e.g. init have migrated to use base/logging to get rid
of klog utilities. However, without explicit initilization, the default
klog_level is set to 3 which masks the logwrap output.
This patch sets default klog_level to KLOG_INFO_LEVEL to make
android_fork_execvp_ext log available.

Bug: 34256270
Test: manual
Change-Id: Ibe74707a92c954053cd0e6828a984fbd72b4acae
2017-01-12 22:18:46 -08:00
bowgotsai 3de625d109 fs_mgr: moves common functions out of fs_mgr_verity.cpp
This commits moves some common functions out of fs_mgr_verity.cpp to be
reused by other verified boot flows. It includes:
 - Move common functions into fs_mgr.c
 - Move dm_ioctl related functions to a new file: fs_mgr_dm_ioctl.cpp

Bug: 31264231
Test: check device can boot with dm-verity

Change-Id: Iaa0d8031efbaae12aa28f872f62d3fc3d3763b51
2017-01-13 10:52:44 +08:00
Mark Salyzyn dd9fa24091 Merge "liblog: use log/log.h for ALOG macros" 2017-01-12 23:46:29 +00:00
Mark Salyzyn 51c33b7011 liblog: use log/log.h for ALOG macros
Test: compile
Bug: 34250038
Change-Id: I0f56c563871f377c03380498cd867b916892f1dc
2017-01-12 15:44:06 -08:00
Tomasz Wasilczyk ae770a4728 Merge "Fix typo in radio_metadata_t definition." 2017-01-12 22:52:58 +00:00
Josh Gao 72d4c42cd5 Merge "adb: remove support for legacy f_adb interface." 2017-01-12 21:24:34 +00:00
Alex Deymo 7e0b322978 Merge changes from topic 'host_suffix_cleanup'
* changes:
  Remove "_host" and "_static" suffix from libsparse definition.
  Remove "_static" and "_host" suffix from libext4_utils.
2017-01-12 21:23:11 +00:00
Tomasz Wasilczyk 3eba74fec1 Fix typo in radio_metadata_t definition.
Test: none, this struct is opaque.
Change-Id: I6b8f5787441618a7a818c7d4595010d241574c13
2017-01-12 11:15:32 -08:00
Treehugger Robot 6bc1d38381 Merge "fs_mgr: Fix disable-verity for verifyatboot partitions" 2017-01-12 18:00:33 +00:00
Treehugger Robot 82db553dd9 Merge "fs_mgr: Add support for at-boot verification" 2017-01-12 17:59:59 +00:00
Alex Deymo b0c395955d Remove "_host" and "_static" suffix from libsparse definition.
This now combines all the "libsparse" libraries into the same soong
target. A minor side-effect of this change is that the libsparse
static library depends on the libz shared library instead of the libz
static library. This minor change has no effect since targets using
the static libsparse library need to explicitly include either the
static libz or the shared one.

Bug: 34220783
Change-Id: I8f41586cf4c3336791cfa57ab4f5ae59a76d7ffa
2017-01-11 19:15:11 -08:00
Hung-ying Tyan 7e6d30e5f2 init: add ro.boot.init_rc
SoC vendors and ODMs need a way to run different init scripts under
different boot modes. This patch adds a new ro.boot.init_rc kernel
cmdline argument to support this.

This patch also changes late-init trigger. Now late-init is only
triggered in "normal" boot (where boot mode is not specified). This is
to make AOSP init.rc re-usable in other boot modes as the operations
in late-init are less common.

Bug: 26639863
Test: Tested on bullhead with
  androidboot.init_rc = {non-existent .rc file}
  and/or
  androidboot.init_rc = {none empty string}
  both of which lead to expected boot failures.
  Boot succeeds if androidboot.init_rc is not specified.
Change-Id: Ie5f08c3914f2f825ad3c401fde6741459668c523
2017-01-12 10:08:30 +08:00
Elliott Hughes a6c65704d6 Fix libbase file.Readlink test on marlin/sailfish.
Bug: http://b/33306057
Test: ran tests
Change-Id: Ie6797e71d3507572da66d6b6966f8ee9373124a4
2017-01-11 17:34:40 -08:00
Treehugger Robot 5d8bf9e6e2 Merge "Set right attributes on tracing folder" 2017-01-12 01:24:30 +00:00
Paul Lawrence 3d8ade3f24 Set right attributes on tracing folder
Since splitting tracefs out from debugfs, we now need to set the
attributes explicitly on tracing folder.

Test: Run adb shell atrace -c -b 16000 -t 5 gfx
Bug: 34197733
Change-Id: If2a962332b6d1ec227e289bdf952213756e26186
2017-01-11 15:51:25 -08:00
Josh Gao 183b73e665 adb: remove support for legacy f_adb interface.
Everything should be using the functionfs interface instead by now.

Bug: http://b/34228376
Test: grepping for f_adb, android_adb in source tree
Test: m
Change-Id: I6bc41049c49a867499832588dac8ed108c636c11
2017-01-11 15:00:03 -08:00
Alex Deymo 705353ae27 Remove "_static" and "_host" suffix from libext4_utils.
Bug: 34220783
Change-Id: I967dbaa9c48ad1feed2369c3a40f745b86a350f8
2017-01-11 14:05:42 -08:00
Mark Salyzyn 01e12b4ee7 Merge "liblog: use log/log.h when utilizing ALOG macros" 2017-01-11 19:07:17 +00:00
Mark Salyzyn 30f991f251 liblog: use log/log.h when utilizing ALOG macros
Test: compile
Bug: 30465923
Change-Id: Id6d76510819ebd88c3f5003d00d73a0dbe85e943
2017-01-11 09:31:15 -08:00
Neil Fuller 6540dfefca Merge "Change tzdatacheck to account for bundle format changes" 2017-01-11 14:46:47 +00:00
Prashant Malani 17f248d2e4 fs_mgr: Fix disable-verity for verifyatboot partitions
This allows a remount to be performed on partitions which have been
verified at boot, without causing the verity service to complain of
"corrupted" blocks that could have been modified as a result of a
remount (while the verity checksum remained unchanged).

(cherry picked from commit dd78ae75ff)

Bug: 32638755
Test: Compile
Change-Id: I77cf7dd20ee5c5f5dac80f73f292e32583fe5906
2017-01-11 22:05:16 +08:00
Prashant Malani 2cdc67eed5 fs_mgr: Add support for at-boot verification
Running dm-verity on heavily accessed partitions leads to performance
slowdowns, especially on low-RAM and slow-CPU devices.

This patch introduces a flag to allow an entire verified partition to be
read once at boot, to check for corruptions. If the reads are
successful, we can mount the partition as raw & read-only, and if not,
we can revert to mounting it as a verity partition, just like before.

Usage of this flag will entail a slowdown of time-to-boot, but should
lead to improvements in runtime performance.

(cherry picked from commit 34543c03e6)

Bug: 32433608
Test: Compile
Change-Id: I97717683a00ad6fa347e63b72b1a9bf1d2946315
2017-01-11 22:00:25 +08:00
Treehugger Robot 6ad690dfd4 Merge "Allow Bluetooth HAL to access /sys/class/rfkill" 2017-01-11 02:31:49 +00:00
Andre Eisenbach 8097210093 Allow Bluetooth HAL to access /sys/class/rfkill
Test: compiles; HAL can write rfkill state
Change-Id: I5815a1f50ef8d09bf83541a6d2389b61bd007306
2017-01-10 23:40:20 +00:00
Treehugger Robot f3780f3cc8 Merge "e2fsck: drop -f when TARGET_USES_MKE2FS is enabled" 2017-01-10 19:49:34 +00:00
Keun-young Park 22e8199175 e2fsck: drop -f when TARGET_USES_MKE2FS is enabled
- Drop forced (-f) e2fsck check when the product has
  enabled new ext4 generation by setting TARGET_USES_MKE2FS.
- The new generation tool is supposed to give better stability,
  thus justifying dropping -f.
- This should help reducing boot-up time as full check (-f) can
  increase boot-up time significantly depending on amount of data.

bug: 32246772
Test: many reboots
Change-Id: I631525bf7504bbfb025e170c8d24ad9d3ef3532e
2017-01-10 10:17:57 -08:00
Paul Lawrence db929bf9b7 Enable seccomp in init with generated policy
Test: Ran script to test performance - https://b.corp.google.com/issues/32313202#comment3
      Saw no significant regression with this change on or off
      Removed chroot from SYSCALLS.TXT - chroot blocked
      Boot time appears reasonable
      Device boots with no SECCOMP blockings
      Measured per syscall time of 100ns
      Empirically counted <100,000 syscalls a second under heavy load

Bug: 32313202
Change-Id: Icfcfbcb72b2de1b38f1ad6a82e8ece3bd1c9e7ec
2017-01-10 10:09:38 -08:00
Neil Fuller eec2bfb53b Change tzdatacheck to account for bundle format changes
Change tzdatacheck to account for bundle format changes:
The update bundle now contains a bundle_version file to enable
us to detect changes to the format of the files in addition to
just checking the IANA rules version. The version will be
incremented as we make incompatible changes to the structure
of the bundle (e.g. the files present or their names), the
file formats or the file contents.

The old assumption was that a system image would typically
contain newer rules than had been pushed via ConfigUpdater
and we'd never get rid of the tzdata file from the bundle
content.

If Android makes rule updates routinely or makes substantial
changes to the timezone data files between major releases
then this assumption becomes (even more) untenable.

The bundle_version file in the bundle is expected to contain
the ASCII bytes for "001". This could be extended
in a future version to include minor versioning information
(e.g. "002.001") and so the code here only reads the first
three bytes. This allows for a future change to add the minor
version suffix and optionally increment the major version if
required.

Some error conditions that were previously treated as fatal
are now handled more elegantly. Generally if things are not
as expected with the installed bundle in /data tzdatacheck
will attempt to delete it. The return code of the binary is
used to distinguish between failure cases, which will be
used in a future automated test.

Some of the ConfigUpdater deletion code has been temporarily
retained (with a TODO) so the v2 of the installer code can be
used with ConfigUpdater/ConfigInstaller and keep something
like the existing process working until we have replaced it
with some thing better.

Using the v2 installer code with ConfigInstaller is one
possible fallback if the new distribution approach is not
completed in time.

Bug: 31008728
Test: Manual testing
Change-Id: Ib253f7d4c9cd72d3e392754f4b787a98ec22bc53
2017-01-10 14:38:35 +00:00
Treehugger Robot abc26ed753 Merge "fs_mgr: add verify_dev flag to fs_mgr_setup_verity()" 2017-01-10 04:00:19 +00:00
Tomasz Wasilczyk e324500f3f Merge "Make metadata field mandatory for program info struct." 2017-01-10 01:24:27 +00:00
Elliott Hughes b2375fc40c Merge "Revert "Revert "android_ids: move to bionic""" 2017-01-10 01:15:30 +00:00
Tomasz Wasilczyk 70a8148b52 Make metadata field mandatory for program info struct.
Also, make metadata struct aligned.

Test: VTS, manual
Change-Id: I7dbd62d36ac21475fdbc49723ba3ea6744460d21
2017-01-09 14:26:43 -08:00
Treehugger Robot d5583867c6 Merge "liblog: retry -ENOTCONN | -ECONNREFUSED | -ENOENT indefinitely" 2017-01-09 17:11:12 +00:00
Wei Wang 7e6c19e8b8 Merge "Restart wificond when zygote died" 2017-01-09 16:30:54 +00:00
Mark Salyzyn 65e1e6284c liblog: retry -ENOTCONN | -ECONNREFUSED | -ENOENT indefinitely
Deal with recovering after transitory failures surrounding logd
crash or recovery.  Improve the chances that the logging functions
can work in a signal handler, not officially supported, but making
sure logging is not blamed for system lockups when misused.

Reorder gTests so that setuid(AID_SYSTEM) is performed after
liblog.enoent test, and that this occurs after other tests that
like to see buffers with content in them as we stop logd.

Test: gTest liblog-unit-tests --gtest_filter=liblog.enoent
Bug: 33755074
Change-Id: I66f88599534614b7b61da6b2ae5fe099ebaced3a
2017-01-09 15:51:09 +00:00
Wei Wang 38fcd33e46 Restart wificond when zygote died
This helps to avoid tearDownInterfaces call from WiFiStateMachine's
constructor.

Bug: 33752168
Test: on device

(cherry picked from commit 0db195d0757e36c73b9da5a95d9b9986386f0f2e)

Change-Id: I55f56dd8daa5089073ff8dd424e92d09326c7d00
2017-01-07 19:45:42 -08:00
Treehugger Robot cdd7ec12be Merge "bootstat: Log ro.boottime.init timing properties." 2017-01-07 22:12:46 +00:00
Treehugger Robot bfe1d9b83b Merge "liblog: test: switch to private event structures" 2017-01-06 23:10:52 +00:00
James Hawkins ef0a090e6f bootstat: Log ro.boottime.init timing properties.
Bug: none
Test: adb logcat | grep bootstat
Change-Id: I3375c75e8ef39be710c8001f19a9e2fb493805e9
2017-01-06 14:52:52 -08:00
Mark Salyzyn b52f445dbb liblog: test: switch to private event structures
Some tests use hard-coded offsets to interpret the binary
events buffers.  Switch to using the private event structures
to access the components of common event messages.

Test: gTest liblog-unit-tests
Bug: 33755074
Change-Id: I17447814583099d5ec417a54389e962158456005
2017-01-06 22:13:34 +00:00
Treehugger Robot 879fc83ad1 Merge "Unversion NDK stub libraries." 2017-01-06 20:49:30 +00:00
Dan Albert 9a41bcecc6 Unversion NDK stub libraries.
The system versions of these libraries aren't versioned yet.

Bug: https://github.com/android-ndk/ndk/issues/278
Test: make ndk
Change-Id: Icf5ff9921441d3e252771aef37002c772c08cbd0
2017-01-06 11:04:15 -08:00
Tao Bao 9f59a4663c Merge "adb: Fix the 'adb reboot sideload' for A/B devices." 2017-01-06 16:59:39 +00:00
Tao Bao 40e0ec918e adb: Fix the 'adb reboot sideload' for A/B devices.
We used to write the command file (/cache/recovery/command) to trigger
the sideload mode. A/B devices don't support that (may not have /cache
paritition). This CL switches to using libbootloader_message which
writes the command to BCB (bootloader control block) instead.

Test: "adb root && adb reboot sideload" reboots sailfish into recovery
      sideload mode.

Change-Id: I158fd7cbcfa9a5d0609f1f684a2d03675217628f
2017-01-05 18:01:01 -08:00