Commit graph

34243 commits

Author SHA1 Message Date
Christopher Ferris
fade4fc5c6 Merge "Speed up StepIfSignalHandler path." am: c6dd6e8a79
am: df8362bae6

Change-Id: Icc16e28e36b88609e20cb5c479c387a2e6d6f73f
2017-07-20 03:59:19 +00:00
Christopher Ferris
df8362bae6 Merge "Speed up StepIfSignalHandler path."
am: c6dd6e8a79

Change-Id: Ie0d80840db92a7be958979785b75d3bf4077b030
2017-07-20 03:53:22 +00:00
Christopher Ferris
c6dd6e8a79 Merge "Speed up StepIfSignalHandler path." 2017-07-20 03:43:19 +00:00
Keun-young Park
614ccd7a02 Merge "init: Do full shutdown even for thermal shutdown" am: d5b36f38ef
am: a064892e1a

Change-Id: Ia6ddd5a680caa8283cf9d2a75c1eb49e1c79e413
2017-07-20 03:30:39 +00:00
Keun-young Park
a064892e1a Merge "init: Do full shutdown even for thermal shutdown"
am: d5b36f38ef

Change-Id: If0bcd287d2656279a1d364761b0145ca4464299b
2017-07-20 03:27:38 +00:00
Treehugger Robot
d5b36f38ef Merge "init: Do full shutdown even for thermal shutdown" 2017-07-20 03:21:41 +00:00
Bowgo Tsai
e5de94756b Merge "fs_mgr_verity: allow verification error when the device is unlocked" am: a68f633675
am: 84937296c6

Change-Id: Ia71076213c9a6770ff35b999024b1d223c82bd77
2017-07-20 01:58:05 +00:00
Bowgo Tsai
84937296c6 Merge "fs_mgr_verity: allow verification error when the device is unlocked"
am: a68f633675

Change-Id: Iba60c7f544ae86a1487354a9e799cab7167f37ad
2017-07-20 01:55:04 +00:00
Treehugger Robot
a68f633675 Merge "fs_mgr_verity: allow verification error when the device is unlocked" 2017-07-20 01:48:34 +00:00
Tom Cherry
5d256bc555 Merge "ueventd: fixup ueventd_test.cpp" am: 9aaf66b61f
am: 34d4d57b87

Change-Id: I7468e871785ea74e6cd5b070bd6f18153f6304a7
2017-07-20 01:17:31 +00:00
Tom Cherry
34d4d57b87 Merge "ueventd: fixup ueventd_test.cpp"
am: 9aaf66b61f

Change-Id: I7792c9ec68b6011e0186af2d40ca07d0801a4c2f
2017-07-20 01:15:00 +00:00
Tom Cherry
9aaf66b61f Merge "ueventd: fixup ueventd_test.cpp" 2017-07-20 01:05:28 +00:00
Keun-young Park
30173874fc init: Do full shutdown even for thermal shutdown
- Skipping SIGTERM / SIGKILL / umount brings race between block
  device driver and fs layer. Do umount before shutting down.
- Reduce timeout to 1 sec for thermal shutdown and skip other time
  taking part like fsck.
- Refactor waiting part to check time in ms so that 1 sec can
  have enough resolution.

bug: 63686426
Test: adb shell setprop sys.powerctl thermal-shutdown, adb shell setprop sys.powerctl reboot and check dmesg
Change-Id: I048bac767b328c8d656a97fe65dde5f2b5bf4ae5
2017-07-19 17:27:05 -07:00
Tom Cherry
2ef572be30 ueventd: fixup ueventd_test.cpp
Use ASSERT_EQ() instead of EXPECT_EQ() to prevent segfaults after
failed API calls.

Do not run setfscreatecon_IsPerThread unless we're in permissive mode
as it will not pass otherwise.

Test: init unit tests
Change-Id: I70525d438e89f1ec036255890169a50b5007b4c4
2017-07-19 15:29:20 -07:00
Keun-young Park
2b33d96db1 Merge "dump stack before kill all" am: c13a2da2f4
am: 4e24aa2bc3

Change-Id: If924fe081a81c2061ed06e741fc5e6984e24b1f9
2017-07-19 22:26:22 +00:00
Keun-young Park
4e24aa2bc3 Merge "dump stack before kill all"
am: c13a2da2f4

Change-Id: Ie09fd8a7e95686c41d2a7af9e9e291f89c673036
2017-07-19 22:23:48 +00:00
Keun-young Park
c13a2da2f4 Merge "dump stack before kill all" 2017-07-19 22:17:06 +00:00
Christopher Ferris
eb4a6dbf5c Speed up StepIfSignalHandler path.
The StepIfSignalHandler code reads from the process memory object, which
is currently the slowest way to read memory. Change the code to read from
the elf memory object which will almost always be a memory mapped file and
should be really fast.

Also, move the tests for StepIfSignalHandler to its own file.

Bug: 23762183

Test: Unit tests pass.
Change-Id: I1100b50554e5ef736a87babd484f3f34e9071caa
2017-07-19 21:35:46 +00:00
Christopher Ferris
2f80aa506f Merge "Add signal handling to the register object." am: 33913ebfb5
am: b945cc6de0

Change-Id: I31c954a03229b264e1bb2a8a75ef5972e60b2bf2
2017-07-19 15:47:21 +00:00
Christopher Ferris
b945cc6de0 Merge "Add signal handling to the register object."
am: 33913ebfb5

Change-Id: Icfaa2cca55a5aef4b48f58026a64395a267a517b
2017-07-19 15:44:24 +00:00
Christopher Ferris
33913ebfb5 Merge "Add signal handling to the register object." 2017-07-19 15:39:23 +00:00
Steven Moreland
106c355688 Merge "system/core: use proper nativehelper headers" am: 4f59afe9fa
am: 6208cd1322

Change-Id: I74083b7169f03bbe347c8802c13cb6c9c7fad440
2017-07-19 15:34:05 +00:00
Steven Moreland
6208cd1322 Merge "system/core: use proper nativehelper headers"
am: 4f59afe9fa

Change-Id: I0fee29c0ad6e81b83cd0f3f774cd08f483a5df6c
2017-07-19 15:31:07 +00:00
Treehugger Robot
4f59afe9fa Merge "system/core: use proper nativehelper headers" 2017-07-19 15:22:41 +00:00
Bowgo Tsai
b674894199 fs_mgr_verity: allow verification error when the device is unlocked
On a A/B device, the image combination in VTS is:
  - system.img (userdebug): provided by Google (system as root)
  - vendor.img (user): provided by the OEM

The generic system.img provided by Google doesn't have /verity_key.
So verified boot will fail when it tries to verify the signature of
vendor.img. This CL allows signature verification error (including
no verity_key) when the device is unlocked.

This CL also changes the return value to FS_MGR_SETUP_VERITY_SKIPPED when
signature verification failed in logging mode. Otherwise, first stage
mount will fail because it assumes verity device initialization should be
successful when receiving FS_MGR_SETUP_VERITY_SUCCESS.

Bug: 63821912
Test: boot generic system.img on a A/B device
Change-Id: I33e5ef753913ae9f0c8b02c518ae94d4c8505611
2017-07-19 18:45:40 +08:00
Keun-young Park
c59b822d1f dump stack before kill all
- If problematic process is from user, kill all kills
  it and dump does not show problematic process.

bug: 37737296
Test: reboot and check log
Change-Id: Iaa4f7d12f5a40fa7528c6672567c36e30b140372
2017-07-18 18:52:25 -07:00
Robert Benea
5cf308bcde Merge "Add memcg related configs to init." am: b84666cbc0
am: 7564622f88

Change-Id: Ia9f5b5d524eb437598e9d453ca05e35d52445cc1
2017-07-19 01:03:32 +00:00
Robert Benea
7564622f88 Merge "Add memcg related configs to init."
am: b84666cbc0

Change-Id: I437c5d05582c6a3cce632f92835ee91f419a7190
2017-07-19 01:01:27 +00:00
Robert Benea
b84666cbc0 Merge "Add memcg related configs to init." 2017-07-19 00:54:41 +00:00
Christopher Ferris
a019665b3c Add signal handling to the register object.
- Add the StepIfSignalHandler function to the Regs object that checks
  if the code is in a signal handler.
- Add tests for new code, also add a test that unwinds through a signal
  handler.
- Slight modification to Elf to fail if a bad machine type is encountered.
  Add tests for this.

Bug: 23762183

Test: Ran unit tests.
Change-Id: Idafa1105d00b91a9343d7464ac9ed1cb95830963
2017-07-18 17:27:48 -07:00
Steven Moreland
00fe3ad728 system/core: use proper nativehelper headers
libnativeheader exports headers under nativeheader. These were
available before incorrectly as global headers in order to give
access to jni.h.

Test: modules using system/core find headers
Bug: 63762847
Change-Id: I86240f7857dd815100cab32ad261aa9a0a54329c
2017-07-18 17:03:20 -07:00
Robert Benea
d485226951 Add memcg related configs to init.
Allow configuring memory.swappiness, memory.soft_limit_in_bytes
and memory.limit_in_bytes by init; by doing so there is better
control of memory consumption per native app.

Test: tested on gobo branch.
bug: 63765067
Change-Id: I8906f3ff5ef77f75a0f4cdfbf9d424a579ed52bb
2017-07-18 15:58:40 -07:00
Quang Luong
be2a262b47 Merge "uml: init: add USER_MODE_LINUX cflag, USER_MODE_LINUX case in init.cpp" am: a022ea424d
am: c1e78e1331

Change-Id: I81d4f619f38a6f511562d98fe7a0dd64c7290f81
2017-07-18 21:26:19 +00:00
Quang Luong
c1e78e1331 Merge "uml: init: add USER_MODE_LINUX cflag, USER_MODE_LINUX case in init.cpp"
am: a022ea424d

Change-Id: Ie4b2131525373fef14dfa2c7a7ec1e23a50dc56a
2017-07-18 21:20:26 +00:00
Treehugger Robot
a022ea424d Merge "uml: init: add USER_MODE_LINUX cflag, USER_MODE_LINUX case in init.cpp" 2017-07-18 21:16:30 +00:00
Tom Cherry
852a6cd623 Merge "Remove ALOGD_IF_SLOW" am: d13547347f -s ours
am: b20ff457f0  -s ours

Change-Id: Ia4fbc86830f36ef483eacd66f621c114f5ffad95
2017-07-18 20:23:25 +00:00
Tom Cherry
b20ff457f0 Merge "Remove ALOGD_IF_SLOW"
am: d13547347f  -s ours

Change-Id: Iecd8ed7045e1f38a3cb87ab856ca2708bf86de14
2017-07-18 20:04:46 +00:00
Quang Luong
dd6a85ccd5 uml: init: add USER_MODE_LINUX cflag, USER_MODE_LINUX case in init.cpp
Modified Android.mk to define cflag "USER_MODE_LINUX" if
TARGET_USER_MODE_LINUX := true in BoardCofig.mk.
Modified set_mmap_rnd_bits_action to return 0 if "USER_MODE_LINUX" is
defined. This is needed since uml does not support the mmap_rnd_bits
sysctl, and init would otherwise crash without this check.

Test: manual

Bug: 32523022
Change-Id: I409ef64a1fa253bfb3f9fb59d0267be159819bb8
Signed-off-by: Quang Luong <qal@google.com>
2017-07-18 18:18:31 +00:00
Tom Cherry
d13547347f Merge "Remove ALOGD_IF_SLOW" 2017-07-18 17:20:39 +00:00
Keun-young Park
10b74ed2a6 Merge "Do not umount /vendor, /system, and /oem even if they are R/W." am: 11649e8925
am: c9f601a178

Change-Id: Ia5f3096e339ed8d088482c5c11ed5e5b906e9205
2017-07-18 03:15:36 +00:00
Keun-young Park
c9f601a178 Merge "Do not umount /vendor, /system, and /oem even if they are R/W."
am: 11649e8925

Change-Id: I1b4db022ca316648dfccfa12c3f8e886e6b15b08
2017-07-18 03:12:37 +00:00
Treehugger Robot
11649e8925 Merge "Do not umount /vendor, /system, and /oem even if they are R/W." 2017-07-18 03:08:42 +00:00
Bowgo Tsai
620f6e65b3 Merge "adbd: lessen security constraints when the device is unlocked" am: e03665142e
am: 0fe0ced23c

Change-Id: I5998cf88d64184df463d5b363efd6af618c19674
2017-07-18 02:42:03 +00:00
Bowgo Tsai
0fe0ced23c Merge "adbd: lessen security constraints when the device is unlocked"
am: e03665142e

Change-Id: Iae19ade154c0d584268a8b035ea0ed90ceb537b4
2017-07-18 02:39:35 +00:00
Treehugger Robot
e03665142e Merge "adbd: lessen security constraints when the device is unlocked" 2017-07-18 02:36:12 +00:00
Bowgo Tsai
f1d3dbc32f adbd: lessen security constraints when the device is unlocked
ALLOW_ADBD_ROOT ('adb root') and ALLOW_ADBD_NO_AUTH (ro.adb.secure = 0)
are false in user build. This prevents a non-A/B device from running
Treble VTS because it requires 'adb root'. Without ALLOW_ADBD_NO_AUTH,
adb still can work if ro.adb.secure = 1. However, allowing it to be 0
is better for test automation.

The image combination in VTS is:
  - system.img (userdebug): provided by Googlg
  - boot.img (user): provided by the OEM  <-- adbd is here
  - vendor.img (user): provided by the OEM

This change allows 'adb root' and 'ro.adb.secure = 0' when the device is
unlocked in user build. No changes for userdebug/eng builds.

Note that the device must be unlocked when running VTS. Otherwise,
verified boot will prevent it from booting the system.img provided by
Google (no verity metadata).

Bug: 63313955
Bug: 63381692
Test: use the above image combination, check 'adb root' and
      'ro.adb.secure = 0' can work

Change-Id: I109d96c950e54c4fb0ac0c98b989a20593681e52
2017-07-18 08:41:19 +08:00
Keun-young Park
6e12b3887e Do not umount /vendor, /system, and /oem even if they are R/W.
- /vendor, /system, /oem can be remounted to R/W for development
  purpose.

- In such case, umounting these partitions can lead into some processes
  not running properly during shutdown or blocking umount of fs.

- So skip them. As it is dev feature, it is up to each developer to
  understand the risk. But for normal adb sync - reboot should be ok
  as shutdown involves sync operations.

bug: 37737296
Test: adb remount,reboot, and check last kmsg
Change-Id: Iab6a6374bc558375d359b3b49b14db93d363b1ad
2017-07-17 17:32:26 -07:00
Steven Moreland
4dae73a2c6 Merge "Revert "Mark libmetricslogger vendor_available."" am: 420eabe3b3
am: bd9bec463f

Change-Id: Ica0793d4040393cbf9337f29b5cadb8d7af4ac91
2017-07-18 00:28:23 +00:00
Steven Moreland
bd9bec463f Merge "Revert "Mark libmetricslogger vendor_available.""
am: 420eabe3b3

Change-Id: I63d3abb5a5e3b0adc33992ae35567ead6278c919
2017-07-18 00:23:53 +00:00
Treehugger Robot
420eabe3b3 Merge "Revert "Mark libmetricslogger vendor_available."" 2017-07-18 00:14:41 +00:00