Commit graph

26438 commits

Author SHA1 Message Date
Elliott Hughes
8766ecb78d Merge "Move init bootcharting onto its own thread." 2016-12-17 17:56:15 +00:00
Daniel Cashman
58929b0447 Merge "Revert "Compile sepolicy on-device at early boot."" 2016-12-17 00:59:43 +00:00
Daniel Cashman
a26a98726e Revert "Compile sepolicy on-device at early boot."
This reverts commit 2fae5d65d5.

Change-Id: Id8bfc0f85d19e98df3759a2fcc6b3a331b4eec29
2016-12-17 00:53:45 +00:00
Treehugger Robot
ebc39117ee Merge "fs_config.c: make *.prop files 0600" 2016-12-17 00:35:36 +00:00
Treehugger Robot
356b339b0d Merge "Compile sepolicy on-device at early boot." 2016-12-17 00:17:13 +00:00
Treehugger Robot
94dd4b7410 Merge "adb: fix adb trace tag" 2016-12-17 00:07:41 +00:00
Nick Kralevich
5f9fa90425 fs_config.c: make *.prop files 0600
Enforce that the only API for reading properties is through the property
server, not by reading the (system|vendor|rootfs) *.prop files.

Test: Device boots and no property errors.
Change-Id: Ibb6ed4e74a80cac00010c707d7574f8e92fc6448
2016-12-16 14:54:02 -08:00
Elliott Hughes
c249794628 Move init bootcharting onto its own thread.
This reduces the overhead when bootcharting is on (obviously), but also
removes the "do we need to do anything for bootcharting?" check in cases
where we're not bootcharting.

Bug: http://b/23478578
Bug: http://b/33450491
Test: rebooted with bootcharting on/off
Change-Id: Id8746b5023b17d7615679eba0bcd02aee048ef1a
2016-12-16 14:45:17 -08:00
Treehugger Robot
d0ee73932f Merge "logd: record multiple duplicate messages as chatty" 2016-12-16 22:05:12 +00:00
dcashman
2fae5d65d5 Compile sepolicy on-device at early boot.
Compile policy from disparate sources at beginning of init and use to load
rather than relying on prebuilt policy.

Bug: 31363362
Test: Policy builds on-device and boots.
Change-Id: I681ec3f7da351d0b24d1f1e81e8a6b00c9c9d20c
2016-12-16 14:02:31 -08:00
Treehugger Robot
044b18cb7f Merge "capabilities: Check ambient caps, last valid runtime cap." 2016-12-16 19:50:34 +00:00
Mark Salyzyn
3ef8ad8548 Merge "liblog: move log_is_loggable.c to properties.c" 2016-12-16 19:01:21 +00:00
Jorge Lucangeli Obes
f3f824ee42 capabilities: Check ambient caps, last valid runtime cap.
Partners have expressed interest in using the 'capabilities' keyword
in init, so make the code more resilient:
-Check that ambient capabilities are supported by the kernel.
-Check that the last valid cap at runtime is not higher than what's in
kernel headers.
-Check that the user is not requesting a capability present in kernel
headers but not supported by the kernel at runtime.
-Don't attempt to drop bounding set capabilities not supported at
runtime.

This CL also fixes a small bug where < should have been used instead of
<=, and uses 'static' instead of anonymous namespaces.

Bug: 32438163
Test: Use a test service that uses capabilities.
Test: Apply in internal tree and test with angler and rild.

Change-Id: Ia271cc7eb389d1d526d61f897261e4bac4d19e5d
2016-12-16 13:04:52 -05:00
Treehugger Robot
719263e6d2 Merge "fastboot: fix set_active for legacy A/B." 2016-12-16 18:04:27 +00:00
Elliott Hughes
4ee7861ee1 Merge "Improve init bootcharting." 2016-12-16 17:32:27 +00:00
Mark Salyzyn
774e04f779 liblog: move log_is_loggable.c to properties.c
Just makes sense cleanup

Test: gTest liblog-unit-tests
Bug: 33535908
Change-Id: I85de049f3cd73a473d56db5970d42eee5f9f70a8
2016-12-16 08:43:56 -08:00
Jeff Sharkey
3b261ace57 Merge "Add fs_mgr option to enable/disable quotas." 2016-12-16 04:56:39 +00:00
Jeff Sharkey
60739458e5 Merge "fs_mgr: support to reserved some blocks for an ext2/3/4 partition." 2016-12-16 04:56:30 +00:00
Treehugger Robot
8b99ef6c21 Merge "liblog: event_tag_map use unordered_map" 2016-12-16 01:57:03 +00:00
Mark Salyzyn
a2c022257c logd: record multiple duplicate messages as chatty
If a series of messages arrive from a single source with identical
message content payload, then suppress them and generate a chatty
report.  The checking is done on a per log id basis.

This alters the assumption that chatty messages are always at the
oldest entries, they now show up in the middle too.  To address this
change in behavior we print the first line, a chatty reference
which internally takes little space, then the last line in the series.

This does not conserve processing time in logd, and certainly has no
impact on the long path of formatting and submitting log messages from
from the source, but it may contribute to memory space and signal to
noise savings under heavy spammy loads.

Test: gTest liblog-unit-tests, logd-unit-tests & logcat-unit-tests
Bug: 33535908
Change-Id: I3160c36d4f4e2f8216f528605a1b3993173f4dec
2016-12-15 16:31:51 -08:00
David Pursell
04396f62da fastboot: fix set_active for legacy A/B.
Legacy A/B implementations use _a and _b slot names, but currently the
set_active command is unconditionally stripping the _ prefix. This CL
adds some code to add the _ back in if connected to a legacy A/B
implementation.

This isn't a complete fix (there are other places in the code that also
unconditionally strip the prefix) but is sufficient for Android Things
use case, and we want to keep this change as small and safe as possible
to avoid breaking anything else.

Bug: http://b/32996227
Test: `fastboot set_active _a` and `fastboot set_active a` works on
      both AndroidThings Edison board and Marlin.
Test: AndroidThings Edison flashall script now completes successfully.
Change-Id: I1a07e48b9e2726f386e9ece5267a9f1d8edefe22
2016-12-15 16:27:48 -08:00
Treehugger Robot
bb612a356a Merge changes I6dc353a2,I7df990f0
* changes:
  Convert the rest of libbacktrace to Android.bp
  Fix unused parameter warning for mips builds
2016-12-16 00:11:17 +00:00
Jeff Sharkey
6d89610d1a Add fs_mgr option to enable/disable quotas.
To support upcoming disk usage calculation optimizations, this change
adds a new 'quota' mount flag.  As part of mounting an ext4 device,
we now enable/disable the quota feature using tune2fs to match the
requested value in the fstab.

When changing the quota status, we force a fsck pass on the device
before actually mounting it to prime the quota data structures which
are stored in hidden inodes.

Changing quota state and priming the data structures needs to happen
before we actually mount the device, so fs_mgr is the best place to
place this logic.

Test: builds, boots, enables and disables quota
Bug: 27948817
Change-Id: I7ccbf97cbc4a679bdd7a31a77be4b99aa9a88e66
2016-12-15 16:35:50 -07:00
liminghao
9a0fd1d5d3 fs_mgr: support to reserved some blocks for an ext2/3/4 partition.
These reserved blocks used to root or claim to CAP_SYS_RESOURCES process.

Change-Id: I4893bdb08399bf31a7640d4a63f4952cd636576f
Merged-In: I4893bdb08399bf31a7640d4a63f4952cd636576f

Signed-off-by: liminghao <liminghao@xiaomi.com>
2016-12-15 16:26:53 -07:00
Mark Salyzyn
700fb87648 liblog: event_tag_map use unordered_map
>3 times faster access for lookup functions.  Code simplification and
C++ coding style conversion.  android_lookupEventTagNum has been
expanded to utilize the Format match, and then drops down to just
Tag match.

Performance testing on Hikey, all services stopped, shell only access,
CPU not locked had good repeatability.

$ adb reboot ; adb wait-for-device ; adb shell su root stop

Before this adjustment using binary search:

$ /data/nativetest64/liblog-benchmarks/liblog-benchmarks BM_lookupEvent*
                          iterations      ns/op
Precharge: start
Precharge: stop 231
BM_lookupEventTag           10000000        153
BM_lookupEventTag_NOT       20000000        139
BM_lookupEventFormat        10000000        153

After this adjustment strictly using std::unordered_map lookup:

$ /data/nativetest64/liblog-benchmarks/liblog-benchmarks BM_lookupEvent*
                          iterations      ns/op
Precharge: start
Precharge: stop 231
BM_lookupEventTag           50000000         56
BM_lookupEventTag_NOT      100000000         21
BM_lookupEventFormat        50000000         56

Test: gTest logd-unit-tests and liblog-unit-tests, liblog-benchmarks.
Bug: 31456426
Change-Id: I1cfc3d641c3ea9ab08d455efe0c844d3a6381440
2016-12-15 22:32:37 +00:00
Elliott Hughes
dbfb20bda4 Merge "Improve crasher." 2016-12-15 21:54:24 +00:00
Jeff Sharkey
da94f09e22 Merge "Define range of GIDs for cached app data." 2016-12-15 21:46:31 +00:00
Colin Cross
da9bd5902f Convert the rest of libbacktrace to Android.bp
See build/soong/README.md for more information.

Reapplies I61c49fb62fdeafb66db25b8f97621239b8fd6e75 after fixing
an unused parameter warning on mips builds.

Test: mma -j
Test: backtrace_test
Change-Id: I6dc353a274cafcdb05ee866b41c3c2731612941c
2016-12-15 12:57:47 -08:00
Colin Cross
06d314917f Fix unused parameter warning for mips builds
libbacktrace_offline was inheriting -Wno-unused-parameter from llvm's
makefiles.  Fix an unused parameter warning when compiling for an
unsupported architecture, and return false since *value wasn't
written.

Test: lunch aosp_mips-eng && mma -j
Change-Id: I7df990f01e1025ca17ec3717107df56d2349f3cb
2016-12-15 12:57:45 -08:00
Colin Cross
049376f14d Merge "Revert "Convert the rest of libbacktrace to Android.bp"" 2016-12-15 20:44:56 +00:00
Colin Cross
ced030892d Revert "Convert the rest of libbacktrace to Android.bp"
This reverts commit 9a3603622f.

Broke the mips build with an unused parameter warning

Change-Id: If36964ea189b58a9825de8904f1cf49010548b59
2016-12-15 20:44:30 +00:00
Colin Cross
28f7749b12 Merge "Convert the rest of libbacktrace to Android.bp" 2016-12-15 19:19:07 +00:00
Treehugger Robot
ded663c231 Merge "[nit] Fix typo in properties.h" 2016-12-15 17:22:04 +00:00
Charles He
40feda6ae9 [nit] Fix typo in properties.h
Test: none
Change-Id: I6fe25bc9404c18bedc5802b3d830ede8a1bc28df
2016-12-15 10:47:32 +00:00
Treehugger Robot
89ae81da76 Merge "Support SOCK_STREAM for bridge between system and app" 2016-12-15 06:47:38 +00:00
Treehugger Robot
37883718a9 Merge "adb: don't require adb keys to be named "*.adb_key"." 2016-12-15 06:04:05 +00:00
Elliott Hughes
400628aeac Improve crasher.
Make it behave better in our typical use cases and support more of the kinds
of crash we want to document.

Bug: http://b/28746168
Test: crasher
Change-Id: Ifbc3dfb042f6055568244c921f4abe1ea554cec4
2016-12-14 17:33:46 -08:00
Colin Cross
9a3603622f Convert the rest of libbacktrace to Android.bp
See build/soong/README.md for more information.

Test: mma -j
Test: backtrace_test
Change-Id: I61c49fb62fdeafb66db25b8f97621239b8fd6e75
2016-12-14 17:24:46 -08:00
Josh Gao
a27666b823 adb: don't require adb keys to be named "*.adb_key".
Don't require the extension on explicit file paths passed on; only
check for it in monitored directories.

Bug: http://b/33638233
Test: ADB_TRACE=1 ADB_VENDOR_KEYS=$HOME/foo adb server nodaemon
Change-Id: I7387e0bbe0f2e16878bf22b05d5c6e8d0f9e5a92
2016-12-14 17:05:36 -08:00
Treehugger Robot
e69e9be7b6 Merge "adb: remove extraneous stat in sync_recv." 2016-12-14 21:11:23 +00:00
Treehugger Robot
d9b9ebb887 Merge "init: Specify the data wipe reason." 2016-12-14 21:08:40 +00:00
Tao Bao
fdf1a54f45 init: Specify the data wipe reason.
We should say that if the data wipe is triggered by fs_mgr_mount_all.

Test: mmma system/core/init
Change-Id: I3998d9493611ecc286de0913a95cf22fc41100b5
2016-12-14 12:12:32 -08:00
Treehugger Robot
0a2080bced Merge "socket: uevent: use SO_RCVBUF instead of SO_RCVBUFFORCE" 2016-12-14 19:30:05 +00:00
Treehugger Robot
a95e9aff7c Merge "Remove obsolete __BRILLO__ ifdef." 2016-12-14 19:14:08 +00:00
Daniel Friederich
b644134858 adb: fix adb trace tag
The ADB trace enum value collided with the 0 values used to mean all, hence it
was not possible to just trace the ADB tagged messages without also tracing everything else.

Change-Id: I15ff9c50c4ac01806c4841cf8213ce859faf130b
Test: Manually by setting ADB_TRACE and running adb, e.g. "ADB_TRACE=adb adb shell ls"
2016-12-14 12:41:43 -06:00
Jorge Lucangeli Obes
405da69b27 Remove obsolete __BRILLO__ ifdef.
Confirmed with Brillo TL this is not needed.

Bug: 33620501
Test: Builds, boots on HiKey.
Change-Id: I8d6b7cc2a94e668d63421c456d38fe23877c3cf0
2016-12-14 13:25:25 -05:00
Treehugger Robot
5d0f40f7c5 Merge changes Ic190bd8c,I865044c8
* changes:
  Convert missed ERROR() to LOG(ERROR).
  Fix include order.
2016-12-14 17:36:25 +00:00
Treehugger Robot
f03e6c8037 Merge "Set mmap_rnd_bits to maximum value." 2016-12-14 16:40:04 +00:00
dcashman
41d0b6d3ca Convert missed ERROR() to LOG(ERROR).
commit: f86b5a6b90 converted init to
libbase logging, but the internal resolution, commit:
4dc40842ba missed one.  Convert it.

Test: builds.
Change-Id: Ic190bd8ce232de0acadd980a349de95fa8aed8ad
2016-12-14 08:38:23 -08:00
Elliott Hughes
99dae54874 Fix include order.
(cherry-pick of commit: 79f2b33594)

Test: builds
Change-Id: I865044c8c54591582e7bb1b7a055cf7ba2f17464
2016-12-14 08:16:07 -08:00