summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add support for /product-services partition.Dario Freni2018-07-261-2/+3
| | | | | | | | | | | | | This CL is largely and adaptation of Ie996def20e25dc1afe0c74af2096af844934b2dc Bug: 80741439 Test: Successfully built product-services.img with one module in it, and flashed on device. Also successfully built image with /system/product-services and no dedicated /product-services partition. Change-Id: I1046dfe19bf874da929c9131b76a1f85422fbb80 Merged-In: I1046dfe19bf874da929c9131b76a1f85422fbb80
* Merge "libcutils: ashmem: Avoid doing fd checks for ashmem calls"Joel Fernandes2018-07-171-25/+11
|\
| * libcutils: ashmem: Avoid doing fd checks for ashmem callsJoel Fernandes2018-07-171-25/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Callers already verify that they are calling ashmem API on a valid fd by calling ashmem_valid first. Lets make the fstat syscall only if the ioctl returns -ENOTTY. This means in the regular case, only 1 syscall is needed (ioctl) vs the current 2 (fstat+ioctl). Some data to show improvements in reduction of vfs_getattr calls in the kernel by 10x when doing a camera. Test: Boot and camera CTS Bug: 111418894 Change-Id: I992620bbe44355e54ba19eeac81da586c5e5a6e0 Signed-off-by: Joel Fernandes <joelaf@google.com>
* | Merge "libcutils: remove rather than fix the mutex."Yi Kong2018-07-141-78/+7
|\ \
| * | libcutils: remove rather than fix the mutex.Elliott Hughes2018-07-131-78/+7
| |/ | | | | | | | | | | Bug: 68236239 Test: ran tests Change-Id: I53e47f99e6963bedcb0be30cf10c9187da8a047d
* / cutils: move hashmap to <pthread.h>.Elliott Hughes2018-07-132-7/+7
|/ | | | | | Bug: N/A Test: builds Change-Id: I16a470265a17ea5bd47ef76ec234907cf7ec3e4f
* Merge "libcutils: remove unused open_memstream."Elliott Hughes2018-07-124-411/+0
|\
| * libcutils: remove unused open_memstream.Elliott Hughes2018-07-114-411/+0
| | | | | | | | | | | | Bug: N/A Test: builds Change-Id: I3c2d8acd4dfe42fbe883b14501cd47674d84f431
* | libcutils: remove some unused API.Elliott Hughes2018-07-113-153/+19
|/ | | | | | Bug: N/A Test: builds Change-Id: Iabe42353a708afde2611b5c642775849e2e45baa
* Merge "libcutils: Simplify android_get_control_socket()"Treehugger Robot2018-06-281-14/+10
|\
| * libcutils: Simplify android_get_control_socket()Bernie Innocenti2018-05-281-14/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. TEMP_FAILURE_RETRY() isn't necessary with getsockname() because it's a synchronous syscall. 2. There's no need to allocate and free a temporary buffer for the full pathname of the socket. Test: Manually, as follows: - added temporary ALOG output - flashed and booted a device - checked expected output from all system daemons - removed log statements Change-Id: I4550a2d67fdffe6aff3c1050f8eeeaca0f985fb3
* | Merge "libcutils: add OWNERS."Treehugger Robot2018-06-121-0/+4
|\ \
| * | libcutils: add OWNERS.Elliott Hughes2018-06-121-0/+4
| | | | | | | | | | | | | | | | | | Bug: N/A Test: N/A Change-Id: Ia147e1dc9511810cd86a463861db3d3d7fedab9b
* | | bootstat: Remove the CAP_SYSLOG capabilityLuis Hector Chavez2018-06-111-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change removes the CAP_SYSLOG file based capability from bootstat, since the intention is that it should not be accessing the logs in the long term. In order to avoid bitrot, the fallback code that depends on CAP_SYSLOG has also been removed. Bug: 62845925 Test: system/core/bootstat/boot_reason_test.sh Change-Id: I899be44ef3ac1c4d81072f801d55c928ae09bb15
* | | logd: Move the capabilities from file based to ambientLuis Hector Chavez2018-06-111-4/+1
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change moves logd's capabilities from being file based to being set by init through ambient capabilities. Bug: 62845925 Test: sailfish:/ # grep Cap /proc/`pidof logd`/status CapInh: 0000000000000000 CapPrm: 0000000440000000 CapEff: 0000000440000000 CapBnd: 0000000440000040 CapAmb: 0000000000000000 $ capsh --decode=0x440000040 0x440000040=cap_setgid,cap_audit_control,cap_syslog Test: liblog-unit-tests, logd-unit-tests, logcat-unit-tests Change-Id: I28c7c4ad37ad5eafd399aef78c303ce31298a9ef
* / Support /product/binInseob Kim2018-05-311-2/+5
|/ | | | | | | | Bug: 80422611 Test: m -j succeeded and permissions of files under /product/bin are set correctly Change-Id: I83377d809c47c92da6b226d2853ea6a7462fb127
* Mark as recovery_available: trueJiyong Park2018-05-141-0/+2
| | | | | | | | | | | | Libraries that are direct or indirect dependencies of modules installed to recovery partition (e.g. toybox) are marked as recovery_available: true. This allows a recovery variant of the lib is created when it is depended by other recovery or recovery_available modules. Bug: 67916654 Bug: 64960723 Test: m -j Change-Id: Ie59155c08890e96ce1893fa3687afcf763d7aea3
* Merge "libctuils: Exclude qtaguid.cpp from VNDK-SP variant"Logan Chien2018-05-081-0/+9
|\
| * libctuils: Exclude qtaguid.cpp from VNDK-SP variantLogan Chien2018-05-081-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit excludes `qtaguid.cpp` from the VNDK-SP variant of `libcutils.so` because the interface of `libnetd_client.so` may vary between AOSP releases. Besides, these functions don't work in vendor processes either because VNDK-SP libraries are loaded in an isolated `vndk` linker namespace, which cannot access `/system/lib[64]/libnetd_client.so` directly. This change makes it easier to spot the issue at build time and saves several bytes. Test: Build aosp_walleye-userdebug and /system/lib[64]/vndk-sp-$VER/libctuils.so no longer exports qtaguid_* functions. Bug: 79329469 Change-Id: Idf6b60f6e58371ea320193641669d1e4412d62b8
* | Remove more bogus <stdbool.h> #includes from C++.Elliott Hughes2018-05-084-4/+0
|/ | | | | | Bug: N/A Test: builds Change-Id: I794cd28667c6c65b38940d8f443315ad116b7ac3
* Systrace support for NNAPIMika Raento2018-04-261-1/+2
| | | | | | Change-Id: I5abf283b5fb04725ec0b8ffbb8191fbddec1766b Bug: 78137932 Test: mm
* Rewrite get_sched_policy_name for safety.Elliott Hughes2018-04-253-18/+20
| | | | | | | | | | | | This way you'll get a build time error if you make the usual mistake of adding to the enum but not adding an entry to the array. Also improve the unit tests, and fix get_sched_policy_name's incorrect behavior on invalid inputs. Bug: N/A Test: ran tests Change-Id: Iefcb1ec9ef66267837da7a576c8be3d0cfb16cd0
* cutils: add restricted cpusetTim Murray2018-04-252-15/+18
| | | | | | | | (cherrypick of 658ae90f699bd21ec8d79b18a34765ed5993c828 without the init.rc change) Bug: 78197570 Test: CTS Change-Id: I6df972950b75a839caa463ae282ad000b959e8ae
* llkd: add live-lock daemonMark Salyzyn2018-04-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce a standalone live-lock daemon (llkd), to catch kernel or native user space deadlocks and take mitigating actions. Will also configure [khungtaskd] to fortify the actions. If a thread is in D or Z state with no forward progress for longer than ro.llk.timeout_ms, or ro.llk.[D|Z].timeout_ms, kill the process or parent process respectively. If another scan shows the same process continues to exist, then have a confirmed live-lock condition and need to panic. Panic the kernel in a manner to provide the greatest bugreporting details as to the condition. Add a alarm self watchdog should llkd ever get locked up that is double the expected time to flow through the mainloop. Sampling is every ro.llk_sample_ms. Default will not monitor init, or [kthreadd] and all that [kthreadd] spawns. This reduces the effectiveness of llkd by limiting its coverage. If in the future, if value in covering kthreadd spawned threads, the requirement will be to code drivers so that they do not remain in a persistent 'D' state, or that they have mechanisms to recover the thread should it be killed externally. Then the blacklists can be adjusted accordingly if these conditions are met. An accompanying gTest set have been added, and will setup a persistent D or Z process, with and without forward progress, but not in a live-lock state because that would require a buggy kernel, or a module or kernel modification to stimulate. Android Properties llkd respond to (*_ms parms are in milliseconds): - ro.config.low_ram default false, if true do not sysrq t (dump all threads). - ro.llk.enable default false, allow live-lock daemon to be enabled. - ro.khungtask.enable default false, allow [khungtaskd] to be enabled. - ro.llk.mlockall default true, allow mlock'd live-lock daemon. - ro.khungtask.timeout default 12 minutes. - ro.llk.timeout_ms default 10 minutes, D or Z maximum timelimit, double this value and it sets the alarm watchdog for llkd. - ro.llk.D.timeout_ms default ro.llk.timeout_ms, D maximum timelimit. - ro.llk.Z.timeout_ms default ro.llk.timeout_ms, Z maximum timelimit. - ro.llk.check_ms default 2 minutes sampling interval (ro.llk.timeout_ms / 5) for threads in D or Z state. - ro.llk.blacklist.process default 0,1,2 (kernel, init and [kthreadd]), and process names (/comm or /cmdline) init,[kthreadd], lmkd,lmkd.llkd,llkd,[khungtaskd],watchdogd,[watchdogd], [watchdogd/0] ... - ro.llk.blacklist.parent default 0,2 (kernel and [kthreadd]) and "[kthreadd]". A comma separated lists of process ids, /comm names or /cmdline names. - ro.llk.blacklist.uid default <empty>, comma separated list of uid numbers or names from getpwuid/getpwnam. Test: llkd_unit_test Bug: 33808187 Bug: 72838192 Change-Id: I32e8aa78aef10834e093265d0f3ed5b4199807c6
* lmkd: limit capability set to minimumMark Salyzyn2018-04-161-0/+1
| | | | | | | | | | | | | | | | | Set F() capability set and 'drop' lmkd from AID_ROOT to AID_LMKD uid and from AID_ROOT to AID_LMKD and AID_SYSTEM gid. /dev/memcg/memory.pressure defaults to root.root mode 0000, set it up as root.system mode 0040 to allow lmkd read access. Instrument failure to set SCHED_FIFO. Annotate access points that require elevated capabilities. Test: check /proc/`pidof lmkd`/status for capability set Test: lmkd_unit_test Bug: 77650566 Change-Id: I986081a0434cf6e842b63a55726380205b30a3ea
* Remove vendor Wifi and BT entries from fs_config.cppTom Cherry2018-03-291-18/+6
| | | | | | | | | | | | | Their capability bits are now specified in their associated init .rc file, which is the proper place for this to be done. A notice is added to guide developers away from using android_files to give services Linux capabilities and to guide them away from adding vendor/ entries. Bug: 74554159 Test: BT, Wifi, Tethering work on walleye Change-Id: I13c425d022b4f5c217587cdf601884ef44650ac7
* Merge "Enabled SYS_MODULE capability for wifi@1.0-service"Treehugger Robot2018-03-291-2/+3
|\
| * Enabled SYS_MODULE capability for wifi@1.0-serviceAjit Kumar2018-03-291-2/+3
| | | | | | | | | | | | | | | | Add sys_module capability to enabled insmod operation. Merged-In: I6436c3297e5318bd00ae3582549a11cb82ccbafd Change-Id: I6436c3297e5318bd00ae3582549a11cb82ccbafd (cherry picked from commit c2a059fbf005b29f9ca8a69ea48f58ffa1359abd)
* | Add new trace tag for AIDL.Martijn Coenen2018-03-261-1/+2
| | | | | | | | | | | | | | | | | | So we can auto-generate tracing code for AIDL interfaces. Bug: 74416314 Test: inspect atrace output Change-Id: I91b14b3b16d8d7a29f531101b14ddf10dbc61a5a Merged-In: I91b14b3b16d8d7a29f531101b14ddf10dbc61a5a
* | Remove fs_config entries for webview_zygote.Robert Sesek2018-02-141-10/+0
|/ | | | | | | | | This process is now spawned from the main app_process zygote, rather than being its own binary launched by init. Bug: 63749735 Test: m Change-Id: I87e00197e1ce64d77b4c306fcd702c6ad778b236
* Add tracing tags to vibratorAlexey Kuzmin2018-02-131-1/+2
| | | | | | | | | | | Now all somewhat time-consuming methods of the VibratorService are surrounded by traceBegin/traceEnd blocks. The vibration itself is surrounded with asyncTrace block. Test: Run "systrace vibrator" and see the time consumption report. Bug: 73000045 Merged-In: I94172e379354ec3418321b8151e6182cec2e886c Change-Id: I94172e379354ec3418321b8151e6182cec2e886c
* Support * as a wildcard for ATRACE_TAG_APPDaniel Colascione2018-02-091-1/+1
| | | | | Test: strcmp Change-Id: I33ec3ae071e3856538444663bbabb3c779ed8afa
* Merge "Revert "Don't initialize atrace if it's already disabled.""Treehugger Robot2018-02-081-6/+6
|\
| * Revert "Don't initialize atrace if it's already disabled."Paul Crowley2018-02-071-6/+6
| | | | | | | | | | | | | | | | | | This reverts commit e184423526888dade9c672ea2584127ae1d9d949. Reason for revert: b/73081734 Bug: 73081734 Change-Id: I8ae835f5575292ebd3c4457ef26c2e8f98cfa11e
* | libcutils: Add "daemon" and "bin" users for testing onlyMark Salyzyn2018-02-051-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | Multiple LTP tests require a "daemon" or "bin" user. These user ids have been defined since UNIX incept, and even up to the '80s remained in many of the tools as hard coded values. Add these two ids with a cautionary note. Test: compile Bug: 31152327 Bug: 31226046 Bug: 32385889 Change-Id: Ida2fb6d817b8ada0624870439fcf848667b31fb3
* | Merge "libcutils: test: increase use of ashmem_valid(fd)"Treehugger Robot2018-01-311-22/+48
|\ \ | |/ |/|
| * libcutils: test: increase use of ashmem_valid(fd)Mark Salyzyn2018-01-261-22/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | There may be evidence of ashmem_valid(fd) reporting that the file descriptor is an ashmem node. Increase testing of ashmem_valid(fd), reporting that the node _is_ ashmem, to inspire confidence in the positive result. Scan all file descriptors in the system, and for those that pass ashmem_valid, get a non-zero size reference back. Some clang-format-isms applied. Test: libcutils-test --gtest_filter=AshmemTest.* Bug: 72021458 Change-Id: I77d746b57a89a6afa1b829dddfdc4dd319f6b684
* | Don't initialize atrace if it's already disabled.Paul Crowley2018-01-301-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | For processes that start very early, atrace initialization can cause an selinux denial, so make sure it's possible to disable it and avoid the call to open "trace_marker". Bug: 63927601 Test: disable atrace early in vold, ensure that selinux denial is avoided. Change-Id: I2422e6d0db323bc13c6d6ed1896435151fca21f7
* | Add AID for Secure Element ApplicationRuchi Kandoi2018-01-251-0/+1
|/ | | | | Test: Test if the correct uid is assigned to the application Change-Id: Ib0302a2e90ae89499ecbcebffa393bdd037adfbe
* Support /product partitionJaekyun Seok2018-01-241-0/+1
| | | | | | | | | | | This CL will enable reading /product/build.prop and add product paths into ld.config.txt.in. Bug: 64195575 Test: tested with 'PRODUCT_PRODUCT_PROPERTIES := ro.product.abc=abc' on sailfish Change-Id: Ie996def20e25dc1afe0c74af2096af844934b2dc
* Add AID_STATSD and AID_INCIDENTD for statsd/incidentd daemons.Yi Jin2018-01-091-0/+2
| | | | | Test: manual Change-Id: Id798519c3b0116529fc698e6b316a1c6b1c293ca
* Merge "libcutils: Stop checking the uid of netlink messages"Treehugger Robot2018-01-091-53/+0
|\
| * libcutils: Stop checking the uid of netlink messagesLuis Hector Chavez2018-01-081-53/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a partial revert of https://android-review.googlesource.com/c/platform/system/core/+/528619. The uid-check was done before https://patchwork.kernel.org/patch/1525551/ was available, and thus is now unnecessary to perform such check, since we can just rely on the kernel patch now. Bug: 71632076 Test: aosp_sailfish-userdebug still works Change-Id: I1d1319b774483d1714ecb4dd838a20e055acc2a3
* | Merge "Use override_export_include_dirs."Treehugger Robot2018-01-081-1/+1
|\ \ | |/ |/|
| * Use override_export_include_dirs.Steven Moreland2018-01-051-1/+1
| | | | | | | | | | | | Bug: 62878521 Test: soong build system finds renamed attribute Change-Id: I51e42f4378db366b8711cd373fb835fecda88416
* | Allocate GID to use reserved disk space.Jeff Sharkey2018-01-071-0/+1
|/ | | | | | | | | | | | Filesystems allow the setting of the "resgid" parameter to designate a GID that is allowed to use the "reserved" disk space (in addition to UID 0). We'll be granting this GID to critical system processes, so that the system is usable enough for the user to free up disk space used by abusive apps. Test: builds, boots Bug: 62024591 Change-Id: I2d166f3b730f0a3e7279fb40f12db7413c1dadad
* Add std::string StartsWith*/EndsWith* overloads.Elliott Hughes2017-12-201-2/+2
| | | | | | | | | We should have done this from the beginning. Thanks to Windows, we're not going to be able to switch libbase over to std::string_view any time soon. Bug: N/A Test: ran tests Change-Id: Iff2f56986e39de53f3ac484415378af17dacf26b
* Stop defining local "unused" macros now this is C++.Elliott Hughes2017-11-306-39/+16
| | | | | | Bug: N/A Test: builds, boots Change-Id: I3eb075d5003fa7cdc6690f4af29a296e22be257c
* Fix / suppress new unused warnings for mingw+clangDan Willemsen2017-11-292-2/+2
| | | | | | Bug: 69933068 Test: mmma system/core Change-Id: I089166a979d3d8c5ada38a7745d507b555048499
* Better, consistent definition of AID_SHARED_GID.Jeff Sharkey2017-11-133-6/+14
| | | | | | | | | | | | | | AID_SHARED_GID is a GID shared by a specific app across all users on the same device. Bring the UserHandle and multiuser.c implementations into agreement, and copy/paste the unit tests that verify that both behave identically. This fixes a regression where multiuser_get_shared_gid() was applying per-user isolation when it shouldn't have. Test: adb shell /data/nativetest64/libcutils_test/libcutils_test64 Bug: 34151068, 64548938 Change-Id: I491dd79d23a214425a68865d1d0f8269916aad4c