Commit graph

26683 commits

Author SHA1 Message Date
Sandeep Patil
7a5db4ec7f init: split property context into platform & non-platform components
Bug: 33746484
Test: Successfully boot with original service and property contexts.
Test: Successfully boot with split serivce and property contexts.
Test: 'getprop -Z'
Change-Id: Ib9c087115040c1609aa64a3ed66d4e67e937e33d
Signed-off-by: Sandeep Patil <sspatil@google.com>
2017-01-26 15:31:10 -08:00
Treehugger Robot
1cb8d9df6c Merge changes Iad5b5abf,Iad3704cc,If182dd9b
* changes:
  liblog: add log/log_radio.h
  liblog: add log/log_id.h
  ndk: reverse course on android/log.h
2017-01-26 18:42:22 +00:00
Treehugger Robot
cb199c3fc7 Merge "fs_mgr_verity: correct dm_target_spec->next" 2017-01-26 16:15:21 +00:00
Treehugger Robot
7e51c66d86 Merge "logcat: test: increase retry on fgetLongTimestamp to 4, and sleep to settle to 3" 2017-01-26 15:38:10 +00:00
Treehugger Robot
517f6d476e Merge "Fix a crash when parsing fastboot command-line arguments" 2017-01-26 07:23:18 +00:00
Treehugger Robot
294f7312dd Merge "Add mode bits to a call to open with O_CREAT" 2017-01-26 06:55:59 +00:00
bowgotsai
ce25baf06f fs_mgr_verity: correct dm_target_spec->next
dm_target_spec->next should be set to the next multiple of 8.
It doesn't matter before because dm_ioctl->target_count is set to 1 so
only the first dm_target_spec will be processed.

Bug: None
Test: check device can boot with dm-verity
Change-Id: I96b9b0307a40b05640db06d1c614c16d8144bb47
2017-01-26 11:34:06 +08:00
Pavlin Radoslavov
6adbd4e787 Fix a crash when parsing fastboot command-line arguments
Fix a crash when running "fastboot reboot bootloader"

Test: Manual run "fastboot reboot bootloader" and "fastboot reboot emergency"
Change-Id: I6d163a5b640afcae1dfa606f409e23ec5f499184
2017-01-25 19:07:46 -08:00
Yabin Cui
a59c7bcc48 Merge "base: support logging before enter main function." 2017-01-26 02:30:58 +00:00
Treehugger Robot
8c0cf30a6b Merge "Switch fs_mgr/*.c to C++." 2017-01-26 02:24:23 +00:00
Vijay Venkatraman
812b7d5d52 Merge "Exporting C++ headers from system/core" 2017-01-26 01:39:41 +00:00
George Burgess IV
09175a0264 Add mode bits to a call to open with O_CREAT
Open with O_CREAT needs mode bits: https://linux.die.net/man/3/open

Found by running clang FORTIFY over AOSP.

Bug: 32073964
Test: Now builds with clang FORTIFY.
Change-Id: Iee4c93c5482f510e0adf8104c27e394b5d87ec88
2017-01-25 17:31:43 -08:00
Treehugger Robot
5b202c4376 Merge "init.rc, typo: fs-post-data -> post-fs-data" 2017-01-26 00:47:18 +00:00
Yabin Cui
0c68953778 base: support logging before enter main function.
Bug: http://b/30974760
Test: run libbase_test.

Change-Id: I3f45fc21e8fe6301b5fef027728ea91f2188911d
2017-01-25 15:50:47 -08:00
bowgotsai
cea7ea7825 Switch fs_mgr/*.c to C++.
This is the minimal change just to keep it building, and doesn't
attempt to clean up the code.

Bug: 34336098
Test: check device can boot

Change-Id: I5ff897874f1f14a9a5d1f14fedf1b0749e86dbb3
2017-01-26 07:49:41 +08:00
Mark Salyzyn
c89fea44ac liblog: add log/log_radio.h
Move RLOG logging macros to their own home.

RLOGV
RLOGV_IF
RLOGD
RLOGD_IF
RLOGI
RLOGI_IF
RLOGW
RLOGW_IF
RLOGE
RLOGE_IF

Test: gTest liblog-unit-tests --gtest_filter=liblog.RLOG
Bug: 34250038
Change-Id: Iad5b5abf23c7a537ff5293bb55a6633dce2e837d
2017-01-25 15:41:43 -08:00
Mark Salyzyn
3cdbdd522f liblog: add log/log_id.h
Move common log_id_t and simple internal support function definitions
that use it from log/log.h to log/log_id.h.

log_id_t
__android_log_buf_write
__android_log_buf_print
android_name_to_log_id
android_log_id_to_name

Test: gTest liblog-unit-tests --gtest_filter=\
      liblog.log_id:\
      liblog.__android_log_buf_print:\
      liblog.__android_log_buf_write:\
      liblog.__android_log_buf_print__concurrent64
Bug: 34250038
Change-Id: Iad3704cc72943a3094e1193a6d032c7f29a6cd5c
2017-01-25 15:41:43 -08:00
Mark Salyzyn
5c967da341 ndk: reverse course on android/log.h
move LOG macros to log/log_main.h

move include/android/log.h to liblog/include/android/log.h

Test: compile of all components and gTest liblog-unit-tests
Bug: 34250038
Bug: 30465923
Change-Id: If182dd9b83689e8b7bc1a44b2f5d913c7ee5eeee
2017-01-25 15:41:43 -08:00
Vijay Venkatraman
01678a0c84 Merge "Revert "Revert "Exporting C headers from system/core""" 2017-01-25 23:37:01 +00:00
Mark Salyzyn
e7e21ea67f logcat: test: increase retry on fgetLongTimestamp to 4, and sleep to settle to 3
Test: gTest logcat-unit-tests
Bug: 34454772
Change-Id: I8557b0f7f25c4aa160a23a2428c9b53c8e3b26e1
2017-01-25 15:29:29 -08:00
Josh Gao
4c38a921c2 Merge changes I21eefab9,I0ac7d78a
* changes:
  adb: move usb_* to client/usb_*.
  adb: reorganize adbd USB handling code.
2017-01-25 21:52:45 +00:00
Josh Gao
9e60a54f67 Merge "Give crash_dump CAP_SYS_PTRACE." 2017-01-25 21:16:58 +00:00
Vijay Venkatraman
651f8383e6 Revert "Revert "Exporting C headers from system/core""
This reverts commit a3f2be2b73.

Test: compile
Change-Id: I04b3a8e47e1fa3eb9d80c14ae3a90c68a780e858
2017-01-25 12:50:29 -08:00
Josh Gao
4d61417997 Merge changes Ie6c1832a,I0275ffca
* changes:
  debuggerd_handler: don't dump PR_NO_NEW_PRIVS processes.
  debuggerd_handler: don't resend nonfatal signals when not dumping.
2017-01-25 20:03:22 +00:00
Josh Gao
36397cb168 Give crash_dump CAP_SYS_PTRACE.
CAP_SYS_PTRACE is needed to ptrace processes that have capabilities
greater than their bounding set. Eventually, this will still be an
improvement, because we can ptrace attach, and then turn on a seccomp
filter that blocks further attaches.

Bug: http://b/34694637
Test: debuggerd `pidof system_server`
Change-Id: I4b9da164ec1fbb5060fdba590e886ac24b6a0785
2017-01-25 11:48:23 -08:00
Josh Gao
7e14d020f1 debuggerd_handler: don't dump PR_NO_NEW_PRIVS processes.
We can't do an selinux transition when this is on.

Bug: http://b/34472671
Test: logcat -c; debuggerd `pidof media.codec`; logcat
Change-Id: Ie6c1832ab838df48879c32a86126862de9a15420
2017-01-25 11:16:03 -08:00
Josh Gao
529b3066d5 debuggerd_handler: don't resend nonfatal signals when not dumping.
Bug: http://b/34516140
Test: debuggerd -b `pidof surfaceflinger`
Change-Id: I0275ffca24bf4840e264eaa4b79611e2404edfb0
2017-01-25 11:15:01 -08:00
Josh Gao
fc12c4b81e Merge "crash_dump: properly dump when we can't talk to tombstoned." 2017-01-25 19:14:09 +00:00
Steven Moreland
f38aab4621 init.rc, typo: fs-post-data -> post-fs-data
Test: pass
Change-Id: Icafdb7ec61935b35db85096b49e7f232a456f620
2017-01-25 10:52:40 -08:00
Treehugger Robot
0a3c2392c7 Merge "fs_mgr: support using libavb to enable dm-verity" 2017-01-25 18:24:30 +00:00
Treehugger Robot
1ef5ecaca2 Merge "Ensure property_set connection sockets are CLOEXEC." 2017-01-25 18:09:16 +00:00
Elliott Hughes
acdb06de6b Merge "Remove unused klog_get_level." 2017-01-25 16:39:11 +00:00
Robert Sesek
ca2da60206 Ensure property_set connection sockets are CLOEXEC.
When handling a property control message to start a service, the
connection socket was being left open. The child socket FD would then be
inherited by the service from init as "/null".

Bug: 34698883

Test: adb shell start webview_zygote32; adb shell ls -l /proc/<pid>/fd,
      no "/null" FD open.

Change-Id: I25f34e1bfc1414e6143acf23414b05f5a241cace
2017-01-25 08:08:51 -05:00
bowgotsai
b51722b4e2 fs_mgr: support using libavb to enable dm-verity
external/avb/libavb provides the new Android Verified Boot (AVB) flow.
It has different verity metadata format than previous formats in
fs_mgr_verity.cpp fs_mgr should support using libavb to read the metadata
(a.k.a. HASHTREE descriptor in AVB) to enable dm-verity in kernel.

Two important files in this commit:

 - fs_mgr_avb_ops.c: an implementation of struct AvbOps* for libavb to do
   platform dependent I/O operations, e.g., read_from_partition.

 - fs_mgr_avb.cpp: it reads the metadata (a.k.a. vbmeta images in AVB) from
   all partitions, verifies its integrity against the values of
   androidboot.vbmeta.{hash_alg, size, digest} passed from bootloader in
   kernel command line. Then enable dm-verity for partitions having the
   corresponding HASHTREE descriptor and with an 'avb' fstab flag.

Bug: 31264231
Test: Enable dm-verity on /system partition
Test: Enable dm-verity with FEC on /system partition

Change-Id: I4652806984fe5a30c61be0839135b5ca78323d38
2017-01-25 18:03:20 +08:00
Treehugger Robot
894f3ea7cb Merge "fastboot: add EDL mode support" 2017-01-25 07:07:47 +00:00
Treehugger Robot
68ab5b0589 Merge "Add eraseblk and logicalblk fs_mgr flags" 2017-01-25 04:14:00 +00:00
Dimitry Ivanov
5a32cc9911 Merge "Revert "Revert "New protocol for property_service""" 2017-01-25 03:54:04 +00:00
Alexey Polyudov
e0bfb759cb fastboot: add EDL mode support
reboot device into emergency download mode (if HW supports it)

Change-Id: If068fdd041c5bdc7bf65515a78aabf18082cba2a
Signed-off-by: Alexey Polyudov <apolyudov@google.com>
2017-01-24 18:55:17 -08:00
Connor O'Brien
46fec487a9 Add eraseblk and logicalblk fs_mgr flags
When doing a factory reset in recovery, flash erase & logical block
sizes are needed for tuning the parameters of the new userdata image.
Add flags to allow this information to be stored in recovery.fstab

Test: Factory reset marlin & confirm userdata is rebuilt correctly
Bug: 33243520
Change-Id: I6c4414d4e9026be4a3646523656ac151e93015e7
Signed-off-by: Connor O'Brien <connoro@google.com>
2017-01-24 18:43:39 -08:00
Vijay Venkatraman
22b7f76a00 Merge "Revert "Exporting C headers from system/core"" 2017-01-25 00:53:07 +00:00
Tao Bao
fb8c70cf4b Merge "healthd: Track the API change of minui/minui.h." 2017-01-25 00:49:48 +00:00
Vijay Venkatraman
a3f2be2b73 Revert "Exporting C headers from system/core"
This reverts commit 3c6763ca21.

Change-Id: If3b3e106478d28a5df927d57649abdca0a99dd0e
2017-01-25 00:44:08 +00:00
Josh Gao
0a37901b9f crash_dump: properly dump when we can't talk to tombstoned.
Bug: http://b/32466479
Test: stop tombstoned; logcat -c; crasher; logcat
Change-Id: I16c010cc1865b4e1db8d2b85c904a2e074f28f1f
2017-01-24 15:22:43 -08:00
Evgenii Stepanov
f38ae34bbc Merge "Don't disable all sanitizers in liblog, just asan." 2017-01-24 23:00:54 +00:00
Vijay Venkatraman
75acc7bf81 Exporting C++ headers from system/core
Moved headers from include/libutils and include/libsysutils to
libutils/include and libsysutils/include respectively, so they can be
exported via these libs. They needed to be moved since Soong does
not allow export from external folder.

Added symlink from old locations. They are needed since Soong
includes system/core/include by default. Once all modules are
cleaned up to explicitly add the required libs, the symlinks will be
removed.

Moved headers of libutils to libutils_headers. They should be used
by modules for header-only inlines. Added libutils_headers as
dependency of libutils.

Split of C++ headers into those that have no dependency and those that
have dependency on libutils.so will be handled in a later CL.

Test: Add above libs to shared lib of local module
Change-Id: I122db72056b26b1f39bad1d9a0c2a1c5efda3550
2017-01-24 22:51:36 +00:00
Vijay Venkatraman
897bc9b2b3 Merge "Exporting C headers from system/core" 2017-01-24 22:43:32 +00:00
Dimitry Ivanov
c9bb0338bc Revert "Revert "New protocol for property_service""
This reverts commit 70c4ecf2b5.
Bug: http://b/33926793
Bug: http://b/34670529
Test: run bionic-unit-tests --gtest_filter=prop*

Change-Id: I75b28146805ff37fbdcf0543ccb515ee5895eb2a
2017-01-24 13:01:13 -08:00
Treehugger Robot
d945f27cd6 Merge "fs_mgr: fix clang static analyzer warning" 2017-01-24 20:58:19 +00:00
Evgenii Stepanov
ffdabdc6f2 Don't disable all sanitizers in liblog, just asan.
ASan runtime library depends on liblog, so we have to disable ASan,
but nothing else.

Bug: 33091541
Test: SANITIZE_TARGET=address keeps working
Change-Id: I6e22925b7f1d5ec86fe1bd8c00dba4c3e86ddf3f
2017-01-24 12:57:23 -08:00
Dimitry Ivanov
17767caed9 Merge "Revert "New protocol for property_service"" 2017-01-24 20:00:44 +00:00