Commit graph

29558 commits

Author SHA1 Message Date
Erik Staats
b81797446d Merge "Change get_sched_policy to check "schedtune" and "cpuset"."
am: e74ecbfddd

Change-Id: I497c3e0dfb307e4072317e2da72ffc183ab6044a
2017-04-26 16:44:34 +00:00
Erik Staats
e74ecbfddd Merge "Change get_sched_policy to check "schedtune" and "cpuset"." 2017-04-26 16:40:44 +00:00
Mark Salyzyn
a4015dce4c Merge "logd: add Chattiest LOG_TAG statistics"
am: 8c437b95d3

Change-Id: Id9a368dd5e70cb233525c1d56da61a42bd18cdcc
2017-04-26 15:54:00 +00:00
Treehugger Robot
8c437b95d3 Merge "logd: add Chattiest LOG_TAG statistics" 2017-04-26 15:50:23 +00:00
Bowgo Tsai
8954cd9379 Merge "init: fix first stage mount failure when two fstab entries have verity_loc"
am: 8df35dcb1c

Change-Id: I243c97a4512ba1ef5ff03ee3bf6a6e41b4cba94a
2017-04-26 00:14:28 +00:00
Treehugger Robot
8df35dcb1c Merge "init: fix first stage mount failure when two fstab entries have verity_loc" 2017-04-26 00:06:47 +00:00
Christopher Ferris
897a7b0056 Merge "Add the Dwarf CFA handling."
am: 1c036ebc15

Change-Id: I25eb52b3ae10fcf771f5451a28399b03a0b082d7
2017-04-25 22:29:50 +00:00
Christopher Ferris
1c036ebc15 Merge "Add the Dwarf CFA handling." 2017-04-25 22:12:49 +00:00
Tom Cherry
d45b6f44d5 Merge "init: rename 'Trigger' to 'Event' and convert to std::variant"
am: d9ebf06117

Change-Id: I1753f980ce4f1aec644c341608877af14cbb248c
2017-04-25 21:53:10 +00:00
Tom Cherry
4cd8d5e9f5 Merge changes I1f70f2c4,I698ca962,Idbbf2682
am: 960ed3ce1b

Change-Id: Ia318890180132e04180c6d461b04ee046f341358
2017-04-25 21:52:51 +00:00
Tom Cherry
d9ebf06117 Merge "init: rename 'Trigger' to 'Event' and convert to std::variant" 2017-04-25 21:44:19 +00:00
Tom Cherry
960ed3ce1b Merge changes I1f70f2c4,I698ca962,Idbbf2682
* changes:
  init: remove unused parts of parser.cpp
  ueventd: replace ueventd_parser.cpp with init_parser.cpp
  init: add Parser::AddSingleLineParser()
2017-04-25 21:44:07 +00:00
Tom Cherry
ad6741c6f8 init: remove unused parts of parser.cpp
Now that ueventd is using init's parser, we no longer need anything
other than the tokenizer from parser.cpp.

Test: Boot bullhead
Change-Id: I1f70f2c4479af576174bd74dd919d81817500216
2017-04-25 11:24:33 -07:00
Tom Cherry
fe062055cb ueventd: replace ueventd_parser.cpp with init_parser.cpp
Previously init_parser.cpp was made generic and capable of parsing any
number of differently named 'sections' or prefixed lines.  We now use
these capabilities to do the parsing for ueventd.

Bug: 36250207
Bug: 33785894

Test: boot bullhead and ensure the right /dev nodes exist
      with the right permissions set
Test: verify no boot time difference
Change-Id: I698ca962d414f8135af32f6c9cd778841b2b8b53
2017-04-25 11:24:24 -07:00
Wei Wang
0380041304 Merge "Revert "Revert "Ensure update_verifier run before zygote"""
am: 5fe07acd07

Change-Id: I4142f960f8867c4e24815c0cbcb31eaa00e83acc
2017-04-25 17:42:11 +00:00
Treehugger Robot
5fe07acd07 Merge "Revert "Revert "Ensure update_verifier run before zygote""" 2017-04-25 17:34:35 +00:00
Bowgo Tsai
71881fffd6 init: fix first stage mount failure when two fstab entries have verity_loc
The previous check is incorrect because it compares the basename of
previous verity_loc with the full path of current verity_loc.

Changes it to compare the full device file path instead of just the basename
of verity_loc. This can catch the case of two different verity_loc
values with the same basename, e.g.,

  - verify=/dev/block/platform/SOC.0/by-name/metadata
  - verify=/dev/block/platform/SOC.1/by-name/metadata

Bug: 37413399
Bug: 37619597
Test: first stage mount /system and /vendor with the following fs_mgr_flags on bullhead
        - wait,verify=/dev/block/platform/soc.0/f9824900.sdhci/by-name/metadataa
Test: first stage mount /system and /vendor with different verity_loc values
      on bullhead, checks it bails out
Change-Id: I017c8bd9f0790d45e08e57df9a2878e4f62c5f9c
2017-04-26 01:23:19 +08:00
Tom Cherry
35c5bcc89c init: add Parser::AddSingleLineParser()
Add the ability to override the current section being parsed and
instead parse a line by itself if a given line starts with a specific
prefix.

Test: Boot bullhead
Change-Id: Idbbf2682b78996b41d05f3db655c8937a8c6ccda
2017-04-25 10:19:37 -07:00
Tom Cherry
26ed9cb706 init: rename 'Trigger' to 'Event' and convert to std::variant
The term 'trigger' should be used in 'Action' to indicate what causes
the 'Action' to be executed.

The term 'event' should be used in ActionManager's queue to indicate
a state change that is checked against the 'triggers' of an 'Action' to
see if it should execute.

Convert the previous Trigger class to std::variant, as the latter is
better suited for this use.

Change-Id: I2558367c8318b536aa69fcec93793f1c12857ef5
2017-04-25 17:14:23 +00:00
Steven Moreland
01ff125c20 Merge "libsysutils: Android.mk -> Android.bp"
am: d0013343e9

Change-Id: I45eb8746984691971b5370b43c90a2c4db23a26d
2017-04-25 16:35:54 +00:00
Treehugger Robot
d0013343e9 Merge "libsysutils: Android.mk -> Android.bp" 2017-04-25 16:32:49 +00:00
Erik Staats
b4c4654c7c Change get_sched_policy to check "schedtune" and "cpuset".
get_sched_policy will first attempt to get the policy from the "schedtune"
subsystem cgroup and, if not set, attempt to get the policy from the
"cpuset" subsystem cgroup.  If neither subsystem has a cgroup set,
SP_FOREGROUND is returned.

Bug: 32972117
Test: Verified that SchedPolicy libcutils test passes and that ps displays
the expected policies.  See details in testing done comment in
https://android-review.googlesource.com/379426 .

Change-Id: I586a921a38eea99d65590b07ece96c9808a2e56d
2017-04-25 15:26:53 +00:00
Jaekyun Seok
ac945881b3 Merge "Update persist.sys.usb.config on runtime"
am: 41346e553b

Change-Id: I950b791f00fbbb72dca2154df7ea8dc055373257
2017-04-25 03:58:33 +00:00
Treehugger Robot
41346e553b Merge "Update persist.sys.usb.config on runtime" 2017-04-25 03:51:17 +00:00
Jaekyun Seok
0cf3a07e14 Update persist.sys.usb.config on runtime
persist.sys.usb.config values can't be combined on build-time when
property files are split into each partition.
So we need to apply the same rule of
build/make/tools/post_process_props.py on runtime.

Test: building succeeded and tested on sailfish.
Bug: 37617113
Bug: 37648659

Change-Id: I78cdffee446d3ae6a89f138faed5f3149e4b507d
2017-04-25 01:31:19 +00:00
Bowgo Tsai
a1da077454 Merge "init: set ro.boot.avb_version in recovery mode"
am: f1bd536efd

Change-Id: I50c39b6d6f6b0e24e9b4688f98fecf30ebbcd0c9
2017-04-25 00:37:40 +00:00
Bowgo Tsai
2d7818a104 Merge "init: moving early mount logic into init_first_stage.cpp"
am: bcd36a20d4

Change-Id: I8f8f2dde261ef8322c904bfaa66ab1e0fe9c5a85
2017-04-25 00:37:21 +00:00
Treehugger Robot
f1bd536efd Merge "init: set ro.boot.avb_version in recovery mode" 2017-04-25 00:31:41 +00:00
Treehugger Robot
bcd36a20d4 Merge "init: moving early mount logic into init_first_stage.cpp" 2017-04-25 00:31:27 +00:00
Steven Moreland
d0d759dc09 libsysutils: Android.mk -> Android.bp
Test: links
Change-Id: If1d034ecb880e8c41d58b14ebebcda5b72e88424
2017-04-24 17:15:31 -07:00
Mark Salyzyn
f99a7d602a logd: add Chattiest LOG_TAG statistics
Report global LOG_TAG usage.

Switch NULL to nullptr and use const more accurately.

Test: gTest liblog-unit-tests, logd-unit-tests & logcat-unit-tests
Test: manual: inspect logcat -S results around 'Chattiest TAGs'
Test: logcat -b all -c ; logcat -b all -S ; then confirm clear
Bug: 37254265
Change-Id: I3696c0d8da3ba24f99f670aafba1e45f8cb3ab14
2017-04-24 16:04:03 -07:00
Wei Wang
35a2ee84d5 Revert "Revert "Ensure update_verifier run before zygote""
This reverts commit 2de3344180.

Change-Id: Ifc49bf389ed43a56baf5bb55d5f2028b8725083d
2017-04-24 21:33:12 +00:00
Christopher Ferris
8642fcbad2 Add the Dwarf CFA handling.
Bug: 23762183

Test: Ran new unit tests.
Change-Id: I31abac1238cc671b78a505da655fb6298be072b4
2017-04-24 13:24:33 -07:00
Mark Salyzyn
74b66822d2 Merge "Revert "logd: add Chattiest LOG_TAG statistics""
am: 5002a48cee

Change-Id: I36e508b03c1e1e2ca83f9c14aaba7daee5b49325
2017-04-24 20:07:51 +00:00
Mark Salyzyn
5002a48cee Merge "Revert "logd: add Chattiest LOG_TAG statistics"" 2017-04-24 19:54:25 +00:00
Mark Salyzyn
afd7e70553 Revert "logd: add Chattiest LOG_TAG statistics"
This reverts commit 903156ddaa.

Test: compile
Bug: 37254265
Change-Id: If9af79684119861ceecf4f88a4a4c84f991b188a
2017-04-24 19:52:33 +00:00
Tom Cherry
41dbec9791 Merge changes Ic446c026,I86568a5b
am: 51b7cb006f

Change-Id: Ia0a69e72bdc4ff7ded9ce7ce2aa183d401441b9a
2017-04-24 19:01:28 +00:00
Mark Salyzyn
c26df4fa0f Merge "logd: add Chattiest LOG_TAG statistics"
am: 39aee46352

Change-Id: Ibf4d87a0ba42c9a2a0ec3bdd5a16b5d29f37618c
2017-04-24 19:01:05 +00:00
Tom Cherry
51b7cb006f Merge changes Ic446c026,I86568a5b
* changes:
  init: create init_tests.cpp
  init: clean up the SectionParser interface and Parser class
2017-04-24 18:02:05 +00:00
Bowgo Tsai
fd18a452be init: set ro.boot.avb_version in recovery mode
Previously we set ro.boot.avb_version during the first stage mount in normal mode:
  - https://android-review.googlesource.com/#/c/371774/

As the first stage mount is not performed in recovery mode, we need to set the
property separately in recovery mode.

Bug: 37414003

Test: first stage mount /vendor with vboot 2.0 (avb) on bullhead in normal mode
Test: first stage mount /system with without verity on bullhead in normal mode
Test: checks ro.boot.avb_version is 1.0 on bullhead in recovery mode

Test: first mount /vendor with with vboot 1.0 on sailfish in normal mode
Test: checks ro.boot.avb_version doesn't exist on sailfish in recovery mode

Change-Id: I262e75b8b557c4de7609b4049ccb01793644245e
2017-04-24 23:10:59 +08:00
Bowgo Tsai
d262017fef init: moving early mount logic into init_first_stage.cpp
Also renames "early mount" to "first stage mount" to prevent confusion
with "mount_all --early", which is run in the init second stage.

Also creates a base class: FirstStageMount and two derived classes:
FirstStageMountVBootV1 and FirstStageMountVBootV2 to replace/refactor
existing functions:

   - early_mount() -> DoFirstStageMount() and FirstStageMount::DoFirstStageMount()

   - vboot_1_0_early_partitions -> FirstStageMountVBootV1::GetRequiredDevices()
   - vboot_2_0_early_partitions -> FirstStageMountVBootV2::GetRequiredDevices()

   - vboot_1_0_mount_partitions ->
       FirstStageMount::MountPartitions() and
       FirstStageMountVBootV1::SetUpDmVerity()

   - vboot_2_0_mount_partitions ->
       FirstStageMount::MountPartitions() and
       FirstStageMountVBootV2::SetUpDmVerity()

Bug: 37413399
Test: first stage mount /vendor with vboot 2.0 (avb) on bullhead
Test: first stage mount /system with without verity on bullhead
Test: first stage mount /vendor with with vboot 1.0 on sailfish
Change-Id: I6584bdf7d832c9fbc8740f97c9b8b94e68a90783
2017-04-24 23:10:10 +08:00
Treehugger Robot
39aee46352 Merge "logd: add Chattiest LOG_TAG statistics" 2017-04-24 14:35:36 +00:00
Lorenzo Colitti
aaa2b30d5c Merge "Revert "Make the xtables lock readable only by AID_RADIO and root.""
am: d272ca38f6

Change-Id: Iaba9526ef774432758bdd03394e999313686973d
2017-04-22 04:27:49 +00:00
Lorenzo Colitti
d272ca38f6 Merge "Revert "Make the xtables lock readable only by AID_RADIO and root."" 2017-04-22 04:21:18 +00:00
Tom Cherry
ad54d094cd init: create init_tests.cpp
Start a init_tests.cpp file for end-to-end tests that parse small init script
segments and verify that they act as expected.

The first tests ensure that the execution order of event triggers
happens appropriately.

Test: Boot bullhead, run unit tests

Change-Id: Ic446c02605ab796fd41e0596ce1fd381aee80ce0
2017-04-21 18:27:42 -07:00
Tom Cherry
30a6f276fd init: clean up the SectionParser interface and Parser class
Remove the dependency on Action and Service from what should be a
generic Parser class.

Make ActionParser, ImportParser, and ServiceParser take a pointer to
their associated classes instead of accessing them through a
singleton.

Misc fixes to SectionParser Interface:
1) Make SectionParser::ParseLineSection() non-const as it always should
have been.
2) Use Rvalue references where appropriate
3) Remove extra std::string& filename in SectionParser::EndFile()
4) Only have SectionParser::ParseSection() as pure virtual

Document SectionParser.

Make ImportParser report the filename and line number of failed imports.

Make ServiceParser report the filename and line number of duplicated services.

Test: Boot bullhead

Change-Id: I86568a5b375fb4f27f4cb235ed1e37635f01d630
2017-04-21 18:26:40 -07:00
Keun-young Park
615211301e Merge "Revert "Ensure update_verifier run before zygote""
am: a037bddd8a

Change-Id: I535056ddbe20cd43d844167b72840105b13eeb64
2017-04-22 01:05:36 +00:00
Keun-young Park
a037bddd8a Merge "Revert "Ensure update_verifier run before zygote"" 2017-04-22 00:56:48 +00:00
Keun-young Park
2de3344180 Revert "Ensure update_verifier run before zygote"
This reverts commit 5dc05effec.

Change-Id: Ic041860dee8a2993c6b4890beca4da745cfbfb60
2017-04-22 00:43:55 +00:00
Mark Salyzyn
903156ddaa logd: add Chattiest LOG_TAG statistics
Report global LOG_TAG usage.

Test: gTest liblog-unit-tests, logd-unit-tests & logcat-unit-tests
Test: manual: inspect logcat -S results around 'Chattiest TAGs'
Bug: 37254265
Change-Id: I32473a1d9131c87e4fb7841d5cc0ea9cc14c63cd
2017-04-21 15:55:10 -07:00