Commit graph

778 commits

Author SHA1 Message Date
Todd Poynor
e40c421b28 libcutils: android_reboot: save reboot reason in file
Save a string identifying the reason for last Android reboot or power
off in file /data/misc/recovery/last_reboot_reason .  This file may
be used for informing users of reboot or shutdown reasons at next
boot, and for other diagnostic purposes.

Bug: 30994946
Test: Manual: reboot, setprop sys.powerctl
Change-Id: I01e44473fdd21b33e9e4dced77aba9a66b6d3755
2017-02-02 04:01:05 +00:00
Todd Poynor
061778a8da libcutils: android_reboot: add thermal shutdown command
Add ANDROID_RB_THERMOFF command to android_reboot(), denoting a power
off due to thermal limits exceeded.  When this command is used, Android
may provide notification to the user about the potentially unexpected
power off at next boot.

Bug: 30994946
Test: Manual: setprop sys.powerctl thermal-shutdown
Change-Id: If2cde1b6a3c281a5750b50295412a4801ed5b2f2
2017-02-02 03:59:30 +00:00
Evgenii Stepanov
2bd3e9cefd Merge "Disable integer sanitization on host." am: afe25958b6 am: ac3cf2ea9d am: ee5a545b7a
am: cad514cdd7

Change-Id: I71dc02174b0295741268231becdb8ada916ab3dc
2017-02-01 19:49:36 +00:00
Evgenii Stepanov
54c7886c40 Disable integer sanitization on host.
Test: NFC until https://android-review.googlesource.com/#/c/329510
Change-Id: I4d1bb66821b2984bbee12438cfd72b9b63d56605
2017-01-31 16:33:53 -08:00
Elliott Hughes
5881843c59 Merge "Support arbitrary-length properties in property_list." am: c8121ba029 am: 92aab6dbd1 am: be34e5661d
am: d5df20a2f3

Change-Id: I73e01d65fd3df3ae9f64c47e2d4148d2c055fb82
2017-01-27 07:55:56 +00:00
Treehugger Robot
c8121ba029 Merge "Support arbitrary-length properties in property_list." 2017-01-27 03:18:04 +00:00
Elliott Hughes
4eacd70f85 Support arbitrary-length properties in property_list.
Bug: http://b/33926793
Test: visual inspection
Change-Id: Ida84c3aaafa5411a9886f8d3d45679fd60ddc00d
2017-01-26 17:33:12 -08:00
George Burgess IV
c06216f8ac Merge "Add mode bits to a call to open with O_CREAT" am: 294f7312dd am: 990c4c611b am: 88cd8ee286
am: 67878340ca

Change-Id: I0f58bd91565719e1169311e718deb232dc0d2694
2017-01-26 07:06:28 +00:00
George Burgess IV
09175a0264 Add mode bits to a call to open with O_CREAT
Open with O_CREAT needs mode bits: https://linux.die.net/man/3/open

Found by running clang FORTIFY over AOSP.

Bug: 32073964
Test: Now builds with clang FORTIFY.
Change-Id: Iee4c93c5482f510e0adf8104c27e394b5d87ec88
2017-01-25 17:31:43 -08:00
Vijay Venkatraman
32e3fee0c3 Merge "Revert "Revert "Exporting C headers from system/core""" am: 01678a0c84 am: e6588b4bfa am: 2d37a4ff16
am: 48f756e5aa

Change-Id: I4d63b6e6d4949fb06d60abf755cc9443fd46c23f
2017-01-25 23:48:01 +00:00
Vijay Venkatraman
01678a0c84 Merge "Revert "Revert "Exporting C headers from system/core""" 2017-01-25 23:37:01 +00:00
Josh Gao
17e6df25d2 Merge "Give crash_dump CAP_SYS_PTRACE." am: 9e60a54f67 am: a417d90e36 am: 55cb039f55
am: e5c8e7ddaf

Change-Id: I66c1b0751eada4047e5ce6a19634bc3912924280
2017-01-25 21:40:08 +00:00
Vijay Venkatraman
651f8383e6 Revert "Revert "Exporting C headers from system/core""
This reverts commit a3f2be2b73.

Test: compile
Change-Id: I04b3a8e47e1fa3eb9d80c14ae3a90c68a780e858
2017-01-25 12:50:29 -08:00
Josh Gao
36397cb168 Give crash_dump CAP_SYS_PTRACE.
CAP_SYS_PTRACE is needed to ptrace processes that have capabilities
greater than their bounding set. Eventually, this will still be an
improvement, because we can ptrace attach, and then turn on a seccomp
filter that blocks further attaches.

Bug: http://b/34694637
Test: debuggerd `pidof system_server`
Change-Id: I4b9da164ec1fbb5060fdba590e886ac24b6a0785
2017-01-25 11:48:23 -08:00
Elliott Hughes
9a617138cc Merge "Remove unused klog_get_level." am: acdb06de6b am: 5ecc8d2439 am: d505d0c747
am: 14f12ddabd

Change-Id: I9cd92641a4df122429e416069638ff5cf2ba3e03
2017-01-25 16:50:13 +00:00
Elliott Hughes
acdb06de6b Merge "Remove unused klog_get_level." 2017-01-25 16:39:11 +00:00
Vijay Venkatraman
7ecee40df5 Merge "Revert "Exporting C headers from system/core"" am: 22b7f76a00 am: 16aac283f4 am: ebc9f4eb58
am: 061ed4de3e

Change-Id: Ic5d71373b0a84dd4bcf75acbc0e745ca4f99de3c
2017-01-25 00:59:42 +00:00
Vijay Venkatraman
a3f2be2b73 Revert "Exporting C headers from system/core"
This reverts commit 3c6763ca21.

Change-Id: If3b3e106478d28a5df927d57649abdca0a99dd0e
2017-01-25 00:44:08 +00:00
Vijay Venkatraman
8786e488c8 Merge "Exporting C headers from system/core" am: 897bc9b2b3 am: e6464ca571 am: e7bbb3c4b0
am: 561ac663a3

Change-Id: I87fcb2ac64d9646093e34ba5c67ab9747e2e66fb
2017-01-24 22:52:19 +00:00
Vijay Venkatraman
3c6763ca21 Exporting C headers from system/core
Moved headers from include/libcutils and include/liblog to
libcutils/include and liblog/include respectively, so they can be
exported via these libs. They needed to be moved since Soong does
not allow export from external folder.

Added symlink from old locations. They are needed since Soong
includes system/core/include by default. Once all modules are
cleaned up to explicitly add the required libs, the symlinks will be
removed.

Also added liblog_vndk_headers that exports a special log/log.h for
VNDK.

Moved headers of libcutils to libcutils_headers. They should be used
by modules for header-only inlines. Added libcutils_headers as
dependency of libcutils.

Added libcutils_vndk_headers that exports a special cutils/log.h
deprecating usage of the file. A later CL will deprecate the one in
libcutils_headers

Test: Add above libs to shared lib of local module
Change-Id: I6e1f9c5f23d8b6eae13dc3b7e5dfe7fae93b8510
2017-01-22 19:45:38 -08:00
Jaekyun Seok
3e1bddf9dd Merge "Load default/build props from each partition" am: 8dbab358f0 am: 57337e7791 am: ac747ef65a
am: f184d8bf47

Change-Id: I867e61238287e2e76049ef65cfe408b03691c5eb
2017-01-20 05:40:43 +00:00
Treehugger Robot
8dbab358f0 Merge "Load default/build props from each partition" 2017-01-20 03:58:52 +00:00
Jeff Sharkey
84dc96227d Merge "Define GID range for external data and OBBs." am: 1e7cdf3c7d am: d150012349 am: 23b6547230
am: b1e89ec14f

Change-Id: If94a9fd76e895f922f8b5f6ed99b871b5febb3f9
2017-01-19 16:39:37 +00:00
Josh Gao
85401cca56 Merge "debuggerd: advance our amazing bet." am: 230201dcbf am: 11b938e881 am: 787f1b29d0
am: 1b1e416fcc

Change-Id: Id6387b7f7ce6aac7ee1ac68ffcf76e69f5c3a924
2017-01-19 00:45:12 +00:00
Jeff Sharkey
7e5d0b1fae Define GID range for external data and OBBs.
To quickly answer the question of "how much data is a UID using?" we
need a GID range to label files on external storage, similar to
the GID ranges already defined for cached and shared data.

Also define a new GID that will be used to label the OBB files shared
between all users under /data/media/obb.

Test: builds, newly added tests pass
Bug: 34263266
Change-Id: I16fb7d166c3dcdeafbf477162d191d3b73ae8ac2
2017-01-18 17:11:05 -07:00
Jaekyun Seok
de21de7a42 Load default/build props from each partition
The following files will be loaded additionally.
- /odm/default.prop and /vendor/default.prop for default props.
- /odm/build.prop for build props.

The props files must follow the following priority order.
- /default.prop > /odm/default.prop > /vendor/default.prop
- /system/build.prop > /odm/build.prop > /vendor/buid.prop

Test: tested default/build prop files with enabling early mount, but
didn't test files of odm partition because odm partition doesn't
exist now.
Bug: 34116668
Change-Id: I946d076dae38f2288865dd986fb16d801d4abcc0
2017-01-19 08:45:40 +09:00
Josh Gao
cbe70cb0a8 debuggerd: advance our amazing bet.
Remove debuggerd in favor of a helper process that gets execed by
crashing processes.

Bug: http://b/30705528
Test: debuggerd_test
Change-Id: I9906c69473989cbf7fe5ea6cccf9a9c563d75906
2017-01-17 13:57:57 -08:00
Elliott Hughes
e04c3b0533 Remove unused klog_get_level.
Every little helps...

Bug: N/A
Test: builds
Change-Id: Ibcac5cda1619420c95903211ed0b96af81351f9e
2017-01-13 18:14:12 -08:00
Wei Wang
fc453321df Merge "libcutils: change klog_level to KLOG_INFO_LEVEL" am: 5e9863bf63 am: 974dd6291e am: c87d4ce758
am: a06b862257

Change-Id: I83876ce9b0258bc8c5217043f6ea9810a9bfd7a8
2017-01-13 08:22:40 +00:00
Wei Wang
677ba31db2 libcutils: change klog_level to KLOG_INFO_LEVEL
Some of Android componets e.g. init have migrated to use base/logging to get rid
of klog utilities. However, without explicit initilization, the default
klog_level is set to 3 which masks the logwrap output.
This patch sets default klog_level to KLOG_INFO_LEVEL to make
android_fork_execvp_ext log available.

Bug: 34256270
Test: manual
Change-Id: Ibe74707a92c954053cd0e6828a984fbd72b4acae
2017-01-12 22:18:46 -08:00
Mark Salyzyn
271a1a7cda resolve merge conflicts of a45b1d6f3 to master
Test: compile
Bug: 30465923
Change-Id: I648855539df3cfa176c6ecac19b6a562ba6feaf7
2017-01-11 11:41:38 -08:00
Mark Salyzyn
01e12b4ee7 Merge "liblog: use log/log.h when utilizing ALOG macros" 2017-01-11 19:07:17 +00:00
Mark Salyzyn
30f991f251 liblog: use log/log.h when utilizing ALOG macros
Test: compile
Bug: 30465923
Change-Id: Id6d76510819ebd88c3f5003d00d73a0dbe85e943
2017-01-11 09:31:15 -08:00
Andre Eisenbach
511dd3b3b4 Merge "Allow Bluetooth HAL to access /sys/class/rfkill" am: 6ad690dfd4 am: a398921635 am: d969153aad
am: bb5ca97809

Change-Id: I348245df98cc42fb37555bb2fa7b904ff7a53713
2017-01-11 03:13:51 +00:00
Andre Eisenbach
8097210093 Allow Bluetooth HAL to access /sys/class/rfkill
Test: compiles; HAL can write rfkill state
Change-Id: I5815a1f50ef8d09bf83541a6d2389b61bd007306
2017-01-10 23:40:20 +00:00
Myles Watson
8c9ee16294 libcutils: Use strnlen for default property values am: e67abec514 am: 6632536c0d am: f957e56909
am: 9bc7869b79

Change-Id: Iba1796493404418216f4f25078ddebac6e8034d5
2016-12-22 19:51:50 +00:00
Myles Watson
2fd5a6425d Use clang-format to fix up properties.c am: 22c0962ab9 am: 9fdf778dd0 am: 57bbd25bd5
am: b35816288c

Change-Id: Ibe4238bef5428858f59f3dc8f38b09ea12a76cb6
2016-12-22 19:51:43 +00:00
Myles Watson
e67abec514 libcutils: Use strnlen for default property values
Add unit tests to test the corner cases.

Test: unit tests pass before and after the change.
Change-Id: Idafeb8354cd6c7db2a68cd398dafe153453a3940
2016-12-22 09:21:06 -08:00
Myles Watson
22c0962ab9 Use clang-format to fix up properties.c
BasedOnStyle: Google
IndentWidth: 4
ColumnLimit: 100

Test: unit tests pass
Change-Id: Ie1a9bf85c001ef1a2dcdafdc5bf696b9267116f7
2016-12-22 09:20:57 -08:00
Nick Kralevich
f8eadb6b9c Merge "fs_config.c: make *.prop files 0600" am: ebc39117ee am: e733fac3ef am: ab72558bcb
am: 88f3f8837b

Change-Id: Ib1a3a51ee1e7228cb587400da9fb6eecac4c0783
2016-12-17 01:27:51 +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
TreeHugger Robot
4769dab866 Merge changes I09b11db0,I774b1a44
* changes:
  libcutils: add file permission for storaged
  storaged: add storaged native daemon
2016-12-16 05:13:39 +00:00
Jeff Sharkey
c35144844b Merge "Define range of GIDs for cached app data." am: da94f09e22 am: ac13675071 am: 1ad4090e4e
am: 40717394bd

Change-Id: I74e4e62cd69d3696698609e010bf08ad86daa0f4
2016-12-16 01:15:39 +00:00
Jin Qian
6c9477a244 libcutils: add file permission for storaged
Change-Id: I09b11db0a7a94b51b5b279b3e4ec58ea9f0c12d7
2016-12-15 15:56:39 -08:00
Jeff Sharkey
da94f09e22 Merge "Define range of GIDs for cached app data." 2016-12-15 21:46:31 +00:00
Sandeep Patil
9b2e207099 Merge "socket: uevent: use SO_RCVBUF instead of SO_RCVBUFFORCE" am: 0a2080bced am: 571e246983 am: c345388bea
am: e432dc58c1

Change-Id: Iab5bafe3e156dfb2fc75634c8d25b5f67991915e
2016-12-14 19:54:35 +00:00
Jeff Sharkey
dff44709cf Define range of GIDs for cached app data.
To support upcoming disk usage calculation optimizations, this change
creates a new GID for each app that will be used to mark its cached
data.  We're allocating these unique GIDs so that we can use
quotactl() to track cached data on a per-app basis.

This change also tightens up the implementation of both the cache
and shared GID calculation to ensure that they stay inside the valid
ranges, and includes tests to verify.

Test: builds, boots, tests pass
Bug: 27948817
Change-Id: Ie4377e5aae267f2da39a165888139228995987cb
2016-12-13 13:28:08 -07:00
Sandeep Patil
5fee496e62 socket: uevent: use SO_RCVBUF instead of SO_RCVBUFFORCE
The SO_RCVBUFFORCE option requires the caller of uevent_create_socket()
to have net_admin capabilities.

Set platform default rcv/snd buffer sizes to 256kb that will always be
overridden by the device/target. However, it will allow
ueventd / healthd to use the uevent_create_socket() API w/o requiring
the net_admin capability.

Note: All devices override the buffer sizes according to the technology
maximum to at least ~8MB. So, the init.rc change here is to make sure
platform code can work w/o any overrides.

Test: no SELinux failures for healthd with 'net_admin' removed.

Bug: https://b/32733887

Change-Id: Ida346468cd550ad07901bf3a78ad508939849906
Signed-off-by: Sandeep Patil <sspatil@google.com>
2016-12-09 15:16:28 -08:00
Elliott Hughes
d0de8660a6 Merge "Use hasmntopt(3) rather than reinventing the wheel." am: 769a5a1962 am: 8656ed109b am: 5dd53bf466
am: 4d7fbc3923

Change-Id: I071f430fa4ed033848353fdf59e972eb474be4a4
2016-11-30 23:12:30 +00:00
Elliott Hughes
8656ed109b Merge "Use hasmntopt(3) rather than reinventing the wheel."
am: 769a5a1962

Change-Id: I62541c0ff6961888239a7686bb37115b39fc787b
2016-11-30 22:49:53 +00:00