Commit graph

29728 commits

Author SHA1 Message Date
Elliott Hughes
246a7e57b8 Merge "Revert "Send property_service AVC messages to the kernel audit system"" am: eea60804f6
am: aee26df200

Change-Id: I52782f3954cfe697dfa134ef778b0835650d5e16
2017-04-15 00:21:35 +00:00
Elliott Hughes
aee26df200 Merge "Revert "Send property_service AVC messages to the kernel audit system""
am: eea60804f6

Change-Id: I030cd689a554f6af953a95fc903ffad31280486a
2017-04-15 00:18:34 +00:00
Elliott Hughes
eea60804f6 Merge "Revert "Send property_service AVC messages to the kernel audit system"" 2017-04-15 00:13:47 +00:00
Tom Cherry
dfb81ce15a Merge changes I9d0482d1,Ib82833be am: b87f1c1728
am: 43473d3a54

Change-Id: I64d1dcf789eea0c6a184368be869f04a2933b47e
2017-04-14 21:51:53 +00:00
Tom Cherry
43473d3a54 Merge changes I9d0482d1,Ib82833be
am: b87f1c1728

Change-Id: Ia031560d95ab967ea12d4c971de32308c5bb9888
2017-04-14 21:49:24 +00:00
Tom Cherry
b87f1c1728 Merge changes I9d0482d1,Ib82833be
* changes:
  ueventd: convert platform_names from C list to std::vector
  ueventd: replace char* with std::string in struct uevent
2017-04-14 21:44:35 +00:00
Mark Salyzyn
fa80674a19 Merge changes I596b8706,I262c0377,Iaf2bee97 am: 030b4d1b08
am: 3447f72d43

Change-Id: If957237f25beff6343f726ba1723b3486dbaf8dd
2017-04-14 21:39:34 +00:00
Mark Salyzyn
3447f72d43 Merge changes I596b8706,I262c0377,Iaf2bee97
am: 030b4d1b08

Change-Id: Id2f09fb60bc772a55206c70b3385fa0651e83233
2017-04-14 21:37:07 +00:00
Mark Salyzyn
030b4d1b08 Merge changes I596b8706,I262c0377,Iaf2bee97
* changes:
  liblog: allow event tags to include some punctuations
  liblog: logprint supports number of seconds time event field
  logcat: test: standardize rest() to let logs land when injecting
2017-04-14 21:33:23 +00:00
Mark Salyzyn
00c87bcf73 Merge "logd: statistics truncate name" am: 42d524f73d
am: 7f9719be48

Change-Id: I3751a3acb99562a20a1cdfe728e4e3fe210c69f9
2017-04-14 20:56:50 +00:00
Mark Salyzyn
7f9719be48 Merge "logd: statistics truncate name"
am: 42d524f73d

Change-Id: I0070356dbf0fc18babb3720ed038b5db2245e295
2017-04-14 20:54:47 +00:00
Treehugger Robot
42d524f73d Merge "logd: statistics truncate name" 2017-04-14 20:48:43 +00:00
Josh Gao
da1f886ed8 Merge changes from topics 'adb_thread', 'adb_loopback' am: 0301b3217b
am: 750dfee974

Change-Id: I0553a8c70ac8a04bd2a32138e2bdd5f63e894258
2017-04-14 20:10:04 +00:00
Josh Gao
ae80841ac7 adb: kill adb_thread_{create, join, detach, exit}. am: e1dacfc1b6
am: d56eebd6c2

Change-Id: Ifde4ae5035c4caf5df66c640bfc28e163dd60b5a
2017-04-14 20:09:58 +00:00
Josh Gao
677a73e5f1 adb: don't try to resolve 'localhost' am: 46de1d7f03
am: 32d7ede78b

Change-Id: If87595c35e362f1fa5c34cba4d7bc1766ec51cd0
2017-04-14 20:09:53 +00:00
Josh Gao
750dfee974 Merge changes from topics 'adb_thread', 'adb_loopback'
am: 0301b3217b

Change-Id: I18578729590be59de526dbda364627b28503a092
2017-04-14 20:08:12 +00:00
Josh Gao
d56eebd6c2 adb: kill adb_thread_{create, join, detach, exit}.
am: e1dacfc1b6

Change-Id: I5e0324b33d40f873d196946cee7591de0b7b949c
2017-04-14 20:08:04 +00:00
Josh Gao
32d7ede78b adb: don't try to resolve 'localhost'
am: 46de1d7f03

Change-Id: Ie419c5ddd80938760d7eaa3f50605c9874ca33d7
2017-04-14 20:07:56 +00:00
Josh Gao
0301b3217b Merge changes from topics 'adb_thread', 'adb_loopback'
* changes:
  adb: statically link libbase into the tests.
  adb: kill adb_thread_{create, join, detach, exit}.
  adb: don't try to resolve 'localhost'
2017-04-14 20:04:04 +00:00
Mark Salyzyn
01bdb04be6 liblog: allow event tags to include some punctuations
event_log_tag parser complains about a period (.) in the name,
we would consider such an enhancement to the tag names possible.
I expect we would want to be able to support alphanumerics,
underscore (_), period (.), minus (-), at (@) and comma (,) for
starters as they are present in the other text log buffer tags.

We introduce a local endOfTag function that is used during parsing and
during android_lookupEventTagNum for submitting new tags.  This
function caused us to enforce const char more closely.  By filtering
in both places we resolve an issue that could have plagued us if
garbage requests were made.

Test: gTest liblog-unit-tests, logd-unit-tests & logcat-unit-tests
Bug: 31456426
Change-Id: I596b8706e843719ddac07ec40e1cd2875c214bed
2017-04-14 12:56:06 -07:00
Mark Salyzyn
5768d3d976 liblog: logprint supports number of seconds time event field
Add s to report time in seconds.  The time could be a period, duration
or monotonic, expanded to seconds, minutes, hours and days.  gTest has
to acquire a dynamic tag allocation as there are no users of this
feature yet.

Looking to the future, audio media logging has binary content similar
to the binary events structures Android logging uses and they have
a definition of a duration field in their internal binary logging, so
may be of use when we unify the logs.

Test: gTest logcat-unit-tests --gtest_filter=*.descriptive
Bug: 31456426
Change-Id: I262c03775983b3bc7b1b00227ce2bb2b0f357bec
2017-04-14 12:54:25 -07:00
Elliott Hughes
d8f9356bec Revert "Send property_service AVC messages to the kernel audit system"
This reverts commit 8adb4d9d12.

Change-Id: I0db29617f323ef31ca5a270d02b7668092e9c9e1
2017-04-14 12:53:19 -07:00
Mark Salyzyn
46186a7238 logcat: test: standardize rest() to let logs land when injecting
Add an internal rest() function to set the standard for how long we
should wait for a log message to land end to end into the logs.  Add
a retry on -EBUSY for all descriptive tests along with a rest() after
log injection so the tests can try to survive heavy Denial Of Service
(DOS) loads.  Some of the resting was done at a coarse 1 second, when
200ms will do just fine.

Fix a few pesky issues surrounding test reliability and correctness:
- stdint.h include missing.
- missing a logcat_executable, means logcatd.descriptive testing was
  testing logcat instead.
- count of interfering tests is 3 now: logcat, liblogcat and logcatd, if
  they all run in the same PID, we have to not fail.
- Added a missed opportunity to add uniqueness to logcat.descriptive sync
  test.

Test: gTest logcat-unit-tests
Bug: 31456426
Change-Id: Iaf2bee97878957f654613bb2e78e32379bb8d1b7
2017-04-14 12:50:59 -07:00
Tom Cherry
1ab8f55344 ueventd: convert platform_names from C list to std::vector
Also simplify this code a bit.

There's only one consumer that removes the /devices/platform prefix,
so have them handle it instead of storing two copies of the string.

Remove an unneeded search for '/' in get_character_device_symlinks()
as a / will always be the next character after a parent path, by
nature of FindPlatformDevice().

Test: boot bullhead
Test: init unit tests

Change-Id: I9d0482d137b1342ae7509ae993ff99198be814f0
2017-04-14 10:23:52 -07:00
Tom Cherry
e3e48214b7 ueventd: replace char* with std::string in struct uevent
Bug: 36250207

Test: Boot bullhead
Test: Boot sailfish, observe no boot time regression
Test: init unit tests

Change-Id: Ib82833bea56bdafbe1d7a045126aaa91a8725d98
2017-04-14 10:23:52 -07:00
Todd Poynor
d2a6783e25 Merge changes I6a29c678,I76212f65 am: e771b69e72
am: 8e7ba95674

Change-Id: If8aa875c3238da829a2ed8ccc52598386c0f63af
2017-04-14 14:34:28 +00:00
Todd Poynor
8e7ba95674 Merge changes I6a29c678,I76212f65
am: e771b69e72

Change-Id: Icfa83c8939b8fc9fc43f47051d0e42ce9111f48b
2017-04-14 14:28:00 +00:00
Treehugger Robot
e771b69e72 Merge changes I6a29c678,I76212f65
* changes:
  reboot: fix owner and permissions of last_reboot_reason file
  init.rc: create /data/misc/reboot owned by system
2017-04-14 14:16:20 +00:00
Bowgo Tsai
0b2d83a64b Merge changes from topic 'avb-early-mount' am: d7381375bb
am: 04989a7a4b

Change-Id: I45d89c806076842ee75a772b1a8bbba2157eb46c
2017-04-14 06:34:00 +00:00
Bowgo Tsai
04989a7a4b Merge changes from topic 'avb-early-mount'
am: d7381375bb

Change-Id: I842610d5812420b93ef43d008f29abff83d9206c
2017-04-14 06:27:02 +00:00
Treehugger Robot
d7381375bb Merge changes from topic 'avb-early-mount'
* changes:
  fs_mgr: support AVB in fs_mgr_update_verity_state()
  init: support early_mount with vboot 2.0 (external/avb/libavb)
2017-04-14 06:20:42 +00:00
Bowgo Tsai
aaf70e77dc fs_mgr: support AVB in fs_mgr_update_verity_state()
fs_mgr_update_verity_state() is invoked by 'verity_update_state' in
init.rc. It will then set property "partition.system.verified" and
"partition.vendor.verified" to verify_mode. We should support this for
AVB as well.

Also change the order of static libs in init to fix the build error
after this change:
  system/extras/ext4_utils/ext4_crypt.cpp:69: error: undefined reference to 'property_get'

Bug: 35416769
Test: Mount /system and /vendor with vboot 2.0 (AVB), check the following properties exist.
      - [partition.system.verified]: [2]
      - [partition.vendor.verified]: [2]
Test: Mount /system and /vendor with vboot 1.0, check the following properties exist.
      - [partition.system.verified]: [0]
      - [partition.vendor.verified]: [0]

Change-Id: I4328d66a8cb93f26e7960e620a0b2292d5f15900
2017-04-14 12:10:49 +08:00
Bowgo Tsai
8bba52fc4b init: support early_mount with vboot 2.0 (external/avb/libavb)
libavb requires verifying AVB metadata on all verified partitions at
once. For example, /vbmeta, /boot, /system and /vendor. We need to
invoke device_init() for those partitions even if we only want to early
mount some of them, like /vendor and /system.

This CL gets all AVB partitions and the early mount partitions from
device tree through "firmware/android/vbmeta" and "firmware/fstab",
respectively. The following is an example to early mount /vendor
partition on bullhead:

firmware {
    android {
        compatible = "android,firmware";
        vbmeta {
            compatible = "android,vbmeta";
            parts = "boot,system,vendor";
            by_name_prefix="/dev/block/platform/soc.0/f9824900.sdhci/by-name"
        };
        fstab {
            compatible = "android,fstab";
            vendor {
                compatible = "android,vendor";
                dev = "/dev/block/platform/soc.0/f9824900.sdhci/by-name/vendor";
                type = "ext4";
                mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
                fsmgr_flags = "wait,avb";
            };
        };
    };
};

Bug: 33254008
Test: early mount /vendor with vboot 2.0 (AVB) on bullhead
Test: early mount /system without dm-verity on bullhead
Test: early mount /vendor with vboot 1.0 on sailfish

Change-Id: I89a1f77c97124f309346b33d9e700544b92ecf05
2017-04-14 12:10:20 +08:00
Mark Salyzyn
6dfe87ed87 Merge "liblog: android_log_event_list class permit -EBUSY retry" am: 9e3756f532
am: b5e436bf3d

Change-Id: I169339c921f3e992aa5dc4543cadcf8ec4418be3
2017-04-14 01:38:07 +00:00
Mark Salyzyn
b5e436bf3d Merge "liblog: android_log_event_list class permit -EBUSY retry"
am: 9e3756f532

Change-Id: I81a265f6521db89c3013d282ae98e56bdecc79d0
2017-04-14 01:32:39 +00:00
Treehugger Robot
9e3756f532 Merge "liblog: android_log_event_list class permit -EBUSY retry" 2017-04-14 01:23:02 +00:00
Todd Poynor
fc827be3f9 reboot: fix owner and permissions of last_reboot_reason file
Default signature WriteStringToFile creates world-writeable files.
Set owner and group system and remove read/write for non-owner.

Bug: 37251463
Test: Manual: reboot, inspect
Change-Id: I6a29c678168dcae611b120dc52170f4eee7069a9
2017-04-13 18:03:59 -07:00
Todd Poynor
e092b72bf4 init.rc: create /data/misc/reboot owned by system
Directory will be read and modified by system uid.

Bug: 37251463
Test: Manual: reboot and inspect
Change-Id: I76212f65af991ff9ad0969b9c0b8460b80fb9cd2
2017-04-13 18:01:13 -07:00
Bowgo Tsai
947210be92 Merge "fs_mgr: adds/changes some public APIs for early mount in init" am: d9b45c5811
am: 951427906d

Change-Id: I4391eb5b67cab4643c7dad2755023d0c1c3cb678
2017-04-14 00:25:02 +00:00
Bowgo Tsai
951427906d Merge "fs_mgr: adds/changes some public APIs for early mount in init"
am: d9b45c5811

Change-Id: I45bb6a8b651c76c09e2aee5d0b1105aadf1d009f
2017-04-14 00:18:26 +00:00
Treehugger Robot
d9b45c5811 Merge "fs_mgr: adds/changes some public APIs for early mount in init" 2017-04-14 00:10:02 +00:00
Mark Salyzyn
f31ae3d666 logd: statistics truncate name
Prefix long truncated names with an ellipse (...). Shift left as
much as possible when doing so, but keep spaces between command
name and other tabular fields.

Test: manual/visual
Bug: 37254265
Change-Id: I185b1e121ba911a9410a8b6624e013d5a531962b
2017-04-13 16:33:20 -07:00
Tom Cherry
8d9eee4f2b Merge changes Ie5ec609a,I5a2ac369,I690137b5 am: 659b78ed10
am: 01b87aac9c

Change-Id: I283f720675ee25f9d0ec11c8e8468fbb2473613a
2017-04-13 21:39:52 +00:00
Tom Cherry
01b87aac9c Merge changes Ie5ec609a,I5a2ac369,I690137b5
am: 659b78ed10

Change-Id: I95c78e2f20e9a420855bcdbc08c8b0c3d6094a31
2017-04-13 21:33:30 +00:00
Tom Cherry
659b78ed10 Merge changes Ie5ec609a,I5a2ac369,I690137b5
* changes:
  ueventd: Fix up string handling in handle_*_device_event()
  ueventd: convert mkdir_recursive() to std::string
  ueventd: move subsystem logic from code to ueventd.rc
2017-04-13 21:22:45 +00:00
Mark Salyzyn
7ecfd6ac10 liblog: android_log_event_list class permit -EBUSY retry
write() method was one-shot, a second shot on -EBUSY would always
return -EBUSY even if successful.  Reset internal error if -EBUSY
when retransmitting.  write() now reports a positive count for
transmission success.  Composition errors trump transmission errors.

Test: gTest logcat-unit-tests --gtest_filter=*.descriptive while
      under heavy DOS stress levels of logging.
Bug: 31456426
Change-Id: Ib1920c3f10cf1df8ad8eb6a884724794b577b29d
2017-04-13 13:16:59 -07:00
Bowgo Tsai
0265f55b44 Merge "fs_mgr_avb: refactors how vbmeta is loaded" am: fc500ddb52
am: a6db40c7cd

Change-Id: I353b7601d616aa736d82659ad90c4828aec07383
2017-04-13 20:15:05 +00:00
Bowgo Tsai
a6db40c7cd Merge "fs_mgr_avb: refactors how vbmeta is loaded"
am: fc500ddb52

Change-Id: Ia964c5180682a5b3929b11f801d943024e8db2f7
2017-04-13 20:09:27 +00:00
Treehugger Robot
fc500ddb52 Merge "fs_mgr_avb: refactors how vbmeta is loaded" 2017-04-13 19:58:37 +00:00
Bowgo Tsai
e203dbb2f6 Merge "fs_mgr: adding fs_mgr_get_slot_suffix() public API" am: b26f48f135
am: 4c96971cee

Change-Id: Icad63b84bb6de85b1a73db84a784ad8b5bdb0f38
2017-04-13 13:50:49 +00:00