Commit graph

34209 commits

Author SHA1 Message Date
Tom Cherry
bf4afbb288 Merge "init: remove Parser singleton and related cleanup"
am: 379123f9ab

Change-Id: I3ef698fb1f18bcaf7dd5e1c01f1fb01bead2aa0a
2017-07-28 16:36:54 +00:00
Tom Cherry
379123f9ab Merge "init: remove Parser singleton and related cleanup" 2017-07-28 16:29:36 +00:00
Joel Galenson
c4f2163954 Merge "Move chmod of /sys/kernel/debug/tracing to fix tracing."
am: 13c3a582de

Change-Id: I63ca85ffce7aead567c34069135fb066c5a026de
2017-07-28 16:12:23 +00:00
Treehugger Robot
13c3a582de Merge "Move chmod of /sys/kernel/debug/tracing to fix tracing." 2017-07-28 16:07:48 +00:00
Joel Galenson
d48c4cf234 Move chmod of /sys/kernel/debug/tracing to fix tracing.
This is a temporary fix, since we're still not sure exactly what the
bug is.

Bug: 62547086
Test: Built, flashed, and booted Sailfish.  Verified that the file has
the correct permission and that wifi and atrace work.

Change-Id: I43275e974a11754eca274f1b77d15cdd03a3b365
(cherry picked from commit 62962dd5b7)
2017-07-27 18:06:40 -07:00
Tom Cherry
67dee626e0 init: remove Parser singleton and related cleanup
* Remove the Parser singleton (Hooray!)
* Rename parser.* to tokenizer.* as this is actually a tokenizer
* Rename init_parser.* to parser.* as this is a generic parser
* Move contents of init_parser_test.cpp to service_test.cpp as this
  actually is a test of the parsing in MakeExecOneshotService() and
  nothing related to (init_)parser.cpp

Test: boot bullhead
Test: bool sailfish
Test: init unit tests
Change-Id: I4fe39e6483f58ebd3ce5ee715a45dbba0acf5d91
2017-07-27 13:23:32 -07:00
Tom Cherry
9f030d89dc Merge "init: shutdown services in the opposite order that they started"
am: 8e7942cbd1

Change-Id: Ibd6b25f77dc3f4033902ec25323ff4e6cab024a2
2017-07-27 17:48:12 +00:00
Tom Cherry
8e7942cbd1 Merge "init: shutdown services in the opposite order that they started" 2017-07-27 17:42:46 +00:00
Siqi Lin
e5fa38c731 Merge "rootdir: record last build fingerprint"
am: 4e8227420e

Change-Id: I59664c816a8fbf4d7776270b28f4673418d30bcb
2017-07-27 14:33:02 +00:00
Treehugger Robot
4e8227420e Merge "rootdir: record last build fingerprint" 2017-07-27 14:26:16 +00:00
Ben Fennema
f01f4e9d4a Merge "init: fix type of 2nd argument passed to prctl"
am: 1b506c54c2

Change-Id: I5b4de3ee0e55d99e8d63f98fdcbd39de70ff0337
2017-07-27 06:57:58 +00:00
Treehugger Robot
1b506c54c2 Merge "init: fix type of 2nd argument passed to prctl" 2017-07-27 06:51:52 +00:00
Ben Fennema
a72436067d init: fix type of 2nd argument passed to prctl
prctl(PR_SET_SECUREBITS, ...) expects an unsigned long as its 2nd argument.
Passing in a int64_t happens to work with a 64-bit kernel, but does not
work with a 32-bit kernel.

Bug: 63680332
Test: boot 32-bit kernel; verify services with capabilities can successfully
      set those capabilties
Change-Id: I60250d107a77b54b2e9fe3419b4480b921c7e2f8
Signed-off-by: Ben Fennema <fennema@google.com>
2017-07-27 03:31:18 +00:00
Tom Cherry
2eada2af9c Merge "init: only use signed-integer-overflow sanitizer"
am: a19f481c8c

Change-Id: I7f1e3ad1008f4d7d3588bbeca7c72bb0d9defeec
2017-07-27 00:49:55 +00:00
Josh Gao
07c337bb7d Merge "adbd: add logging to troubleshoot usb issues."
am: 5550901152

Change-Id: I3ca18fdd1c55eaca10ad790a6678a7e9e8e974bb
2017-07-27 00:46:21 +00:00
Treehugger Robot
a19f481c8c Merge "init: only use signed-integer-overflow sanitizer" 2017-07-27 00:20:11 +00:00
Treehugger Robot
5550901152 Merge "adbd: add logging to troubleshoot usb issues." 2017-07-27 00:17:15 +00:00
Tom Cherry
5938379e91 init: shutdown services in the opposite order that they started
Currently, the order that we kill to services during shutdown is the
order of services_ in ServiceManager and that is defacto the order in
which they were parsed, which is not a very useful ordering.

Related to this, we have seen a few issues during shutdown that may be
related to services with dependencies on other services, where the
dependency is killed first and the dependent service then misbehaves.

This change allows services to keep track of the order in which they
were started and shutdown then uses that information to kill running
services in the opposite order that they were started.

Bug: 64067984
Test: Boot and reboot bullhead

Change-Id: I6b4cacb03aed2a72ae98a346bce41ed5434a09c2
2017-07-26 16:48:06 -07:00
Siqi Lin
16bb36197b rootdir: record last build fingerprint
We can't copy /default.prop so just write the value of
$(ro.build.fingerprint) to /data/misc/recovery/ro.build.fingerprint
and rotate it after reboot instead.

Bug: 62793047
Test: manual - reboot phone and check /data/misc/recovery
Change-Id: I130a4b7a01d9e1bfe9baecde2781626eb72e768b
(cherry picked from commit b9b76de6ff)
2017-07-26 16:45:10 -07:00
Tom Cherry
2ffd65e1d1 init: only use signed-integer-overflow sanitizer
We've blown up twice in init due to the unsigned integer overflow
sanitizer despite the overflows in question being both defined and
intentional.

Test: boot
Change-Id: I08effe3202ac1367d858982ff5478b3a088bab37
2017-07-26 14:25:25 -07:00
James Hawkins
b4c27af150 Merge "bootstat: Log even more boot reasons."
am: 29b9411685

Change-Id: I2c326dab9f4f20da2e7cdeabc364c05eee460850
2017-07-26 19:35:51 +00:00
Treehugger Robot
29b9411685 Merge "bootstat: Log even more boot reasons." 2017-07-26 19:27:03 +00:00
Josh Gao
184f571cfd adbd: add logging to troubleshoot usb issues.
Bug: http://b/63899881
Bug: http://b/63901259
Bug: http://b/63904904
Test: treehugger
Change-Id: Ifbc3caa6b416093bf8e127194003747c910352dc
2017-07-26 11:08:15 -07:00
Adam Lesinski
0b60b181c4 Merge "Add definition of off64_t for mac os builds"
am: 3e0b594619

Change-Id: If2e9243a0f32e776676ef18c1933b8e2e649857c
2017-07-26 00:08:34 +00:00
Adam Lesinski
3e0b594619 Merge "Add definition of off64_t for mac os builds" 2017-07-25 23:55:00 +00:00
Adam Lesinski
5fff67f2ec Add definition of off64_t for mac os builds
Mac OS does not define off64_t, since off_t is always 64 bit.

Test: manual
Change-Id: Ib02a912a2eaf38143e124f2b6aaf294ecf84ff88
2017-07-25 16:26:23 -07:00
James Hawkins
8d7f63da26 bootstat: Log even more boot reasons.
Bug: 27555866
Test: None
Change-Id: I8ab6597a323f5973d8b1c22c2c7422ef0c2efcc3
2017-07-25 15:58:48 -07:00
Adam Lesinski
67a3a88c24 Merge "libziparchive: Use ReadAtOffset exclusively"
am: a0360ad6a3

Change-Id: Ic6804698ca4c612f8f619c2684b1d2010e1ba024
2017-07-25 22:29:13 +00:00
Lennart Wieboldt
f7b315c985 Merge "Remove LOCAL_CLANG and clang: true"
am: 80ec81cf4b

Change-Id: Ia7f79d8e25ee9870fe44d198568d0e5dabdff811
2017-07-25 22:28:56 +00:00
Adam Lesinski
a0360ad6a3 Merge "libziparchive: Use ReadAtOffset exclusively" 2017-07-25 22:22:21 +00:00
Treehugger Robot
80ec81cf4b Merge "Remove LOCAL_CLANG and clang: true" 2017-07-25 22:20:23 +00:00
Siarhei Vishniakou
f23f21a231 Merge "Add thread safety analysis annotations."
am: e7ce8c8485

Change-Id: I4963b623b6e5a190bfee1dcfec01fe009ba0e94f
2017-07-25 21:42:54 +00:00
Treehugger Robot
e7ce8c8485 Merge "Add thread safety analysis annotations." 2017-07-25 21:37:27 +00:00
Wei Wang
22782a7269 Merge "Do not umount roofs even if it is R/W."
am: 43567e39dc

Change-Id: I89bfb662469c28559eb628e48aee1ecb262ad2ee
2017-07-25 20:41:19 +00:00
Treehugger Robot
43567e39dc Merge "Do not umount roofs even if it is R/W." 2017-07-25 20:35:50 +00:00
Steve Muckle
5a79972238 Merge "init: add support for global seccomp boot option"
am: 9f1980e2fc

Change-Id: I35532202b360ef32cdb21c048cd3d2e1139b7d67
2017-07-25 20:26:29 +00:00
Treehugger Robot
9f1980e2fc Merge "init: add support for global seccomp boot option" 2017-07-25 20:18:51 +00:00
Adam Lesinski
de117e4a49 libziparchive: Use ReadAtOffset exclusively
The use of ReadAtOffset is meant to allow concurrent access
to the zip archive once it has been loaded. There were places
where this was the case, and some places that did a seek + read
combination, which could lead to data races.

NOTE: On Windows, we are not using pread as the implementation of
ReadAtOffset, therefore the guarantees on Windows are weaker.

On Linux, pread allows the file descriptor to be read at a specific
offset without changing the read pointer. This allows inherited fd's
and duped fds to be read concurrently.

On Windows, we use the ReadFile API, which allows for an atomic seek +
read operation, but modifies the read pointer. This means that any mix
use of ReadAtOffset and Read will have races. Just using ReadAtOffset is
safe.

For the Windows case, this is fine as the libziparchive code now only
uses ReadAtOffset.

Bug: 62184114
Bug: 62101783
Test: make ziparchive-tests (existing tests pass)
Change-Id: Ia7f9a30af2216682cdd9d578d26e84bc46773bb9
2017-07-25 18:12:12 +00:00
Wei Wang
a01c27eef8 Do not umount roofs even if it is R/W.
Latest device has rootfs instead of "/system" mount point

Bug: 37737296
Test: adb remount, reboot, and check log
Change-Id: I315ecf71e85255fc55c3a80619920b456bad0956
2017-07-25 10:55:10 -07:00
Lennart Wieboldt
cd15fc7ba8 Remove LOCAL_CLANG and clang: true
clang is the default compiler since Android nougat

Test: mma & verified it´s still build with clang
Change-Id: I34adaeef2f6558a09f26027271222bad94780507
Signed-off-by: Lennart Wieboldt <lennart.1997@gmx.de>
2017-07-25 14:29:50 +02:00
Wei Wang
b0a6129c43 Merge "init: Fire shutdown trigger for thermal shutdown"
am: 603cae8b48

Change-Id: I0bbd26f22887afcf7b2145b78239c9f8e2c45047
2017-07-24 22:15:20 +00:00
Treehugger Robot
603cae8b48 Merge "init: Fire shutdown trigger for thermal shutdown" 2017-07-24 22:09:37 +00:00
Steve Muckle
af1a9bfb8f init: add support for global seccomp boot option
Setting androidboot.seccomp=global on the kernel command line shall
enable seccomp for all processes rather than just in zygote. Doing
this has a performance impact, for now it shall just be used to audit
syscall usage during testing.

Bug: 37960259
Change-Id: I6b9fc95e9bec5e2bcfe6ef0b4343a5b422e30152
2017-07-24 13:33:54 -07:00
Wei Wang
1be2212319 init: Fire shutdown trigger for thermal shutdown
Recent change in init has bring normal shutdown sequence in
thermal-shutdown condition. This CL will make sure init fire shutdown
trigger where holds custom shutdown actions for vendor SoC/platform.

Bug: 63686426
Test: adb shell setprop sys.powerctl thermal-shutdown
Change-Id: Ieb8579fdf9c30c1a81d60466a7375c9784f3ca98
2017-07-24 13:12:22 -07:00
Tom Cherry
9549d6889a Merge "init: use delegating constructor for Service"
am: ce3b2de809

Change-Id: Ic9bd63b44f57b505b1cd379948786349e92c0c45
2017-07-24 16:27:35 +00:00
Tom Cherry
ce3b2de809 Merge "init: use delegating constructor for Service" 2017-07-24 16:19:46 +00:00
Siarhei Vishniakou
4e5b69134b Add thread safety analysis annotations.
Enable thread safety analysis annotations for clang.
See https://clang.llvm.org/docs/ThreadSafetyAnalysis.html
for instructions on using these in the source code.

Bug: 28094863
Test: annotated
frameworks/native/services/inputflinger/InputDispatcher.cpp
and enabled '-Werror' and '-Wthread-safety' clang
compiler flags in Android.bp for inputflinger.
Observed compiler errors when accessing
instance attributes without holding a lock. Also added
a compile test Mutex_test.cpp, which can be build using
m libutils_tests and run using
/data/nativetest64/libutils_tests/libutils_tests

Change-Id: I24ce111241cc339901bc45dda8b446df5299af4a
2017-07-21 13:25:42 -07:00
Keun-young Park
bc4c5032fc Merge "fs_mgr:Add filter condition to make sure that the super block is correct."
am: 9dd1a12b1e

Change-Id: I8947564ee32cd90ea8f3a7c986426b9c3dbd70af
2017-07-21 20:11:52 +00:00
Keun-young Park
9dd1a12b1e Merge "fs_mgr:Add filter condition to make sure that the super block is correct." 2017-07-21 20:04:15 +00:00
Tom Cherry
5d17d044c7 init: use delegating constructor for Service
Test: init unit tests
Change-Id: Ida0be6195a3675bfca3d979db03855b45417b11e
2017-07-21 12:42:07 -07:00