summaryrefslogtreecommitdiff
path: root/libsysutils
AgeCommit message (Collapse)Author
2022-06-29libsysutils: Hide NetlinkListener error in recoveryMichael Bestas
* Prevents users from seeing this message in recovery: `E:recvmsg failed (No buffer space available)` * This is caused by volume_manager (our addition in recovery) and hiding this error does not seem to have any negative side effect. Change-Id: I0d65796961c3036289ed13c0b8949a27b5b97ad6
2021-02-19[LSC] Add LOCAL_LICENSE_KINDS to system/coreBob Badour
Added SPDX-license-identifier-Apache-2.0 to: bootstat/Android.bp cli-test/Android.bp code_coverage/Android.bp cpio/Android.bp debuggerd/crasher/Android.bp debuggerd/proto/Android.bp diagnose_usb/Android.bp fs_mgr/libdm/Android.bp fs_mgr/libfiemap/Android.bp fs_mgr/liblp/Android.bp fs_mgr/libsnapshot/Android.bp fs_mgr/libstorage_literals/Android.bp fs_mgr/libvbmeta/Android.bp fs_mgr/tests/Android.bp fs_mgr/tools/Android.bp gatekeeperd/Android.bp healthd/Android.bp healthd/testdata/Android.bp init/Android.bp init/Android.mk init/sysprop/Android.bp init/test_kill_services/Android.bp init/test_service/Android.bp libappfuse/Android.bp libasyncio/Android.bp libbinderwrapper/Android.bp libcrypto_utils/Android.bp libcrypto_utils/tests/Android.bp libdiskconfig/Android.bp libgrallocusage/Android.bp libkeyutils/mini_keyctl/Android.bp libmodprobe/Android.bp libnetutils/Android.bp libpackagelistparser/Android.bp libprocessgroup/Android.bp libprocessgroup/cgrouprc/Android.bp libprocessgroup/cgrouprc_format/Android.bp libprocessgroup/profiles/Android.bp libprocessgroup/setup/Android.bp libqtaguid/Android.bp libsparse/Android.bp libstats/push_compat/Android.bp libsuspend/Android.bp libsync/Android.bp libsystem/Android.bp libsysutils/Android.bp libusbhost/Android.bp libutils/Android.bp libvndksupport/Android.bp libvndksupport/tests/Android.bp llkd/Android.bp llkd/tests/Android.bp property_service/libpropertyinfoparser/Android.bp property_service/libpropertyinfoserializer/Android.bp property_service/property_info_checker/Android.bp qemu_pipe/Android.bp reboot/Android.bp rootdir/Android.bp rootdir/Android.mk rootdir/avb/Android.bp rootdir/avb/Android.mk run-as/Android.bp sdcard/Android.bp set-verity-state/Android.bp shell_and_utilities/Android.bp storaged/Android.bp toolbox/Android.bp trusty/apploader/Android.bp trusty/confirmationui/Android.bp trusty/confirmationui/fuzz/Android.bp trusty/coverage/Android.bp trusty/fuzz/Android.bp trusty/fuzz/test/Android.bp trusty/gatekeeper/Android.bp trusty/gatekeeper/fuzz/Android.bp trusty/keymaster/Android.bp trusty/keymaster/fuzz/Android.bp trusty/libtrusty/Android.bp trusty/libtrusty/tipc-test/Android.bp trusty/secure_dpu/Android.bp trusty/storage/interface/Android.bp trusty/storage/lib/Android.bp trusty/storage/proxy/Android.bp trusty/storage/tests/Android.bp trusty/utils/spiproxyd/Android.bp trusty/utils/trusty-ut-ctrl/Android.bp usbd/Android.bp watchdogd/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to: debuggerd/Android.bp fastboot/Android.bp libkeyutils/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD SPDX-license-identifier-MIT to: libcutils/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT to: fs_mgr/Android.bp fs_mgr/libfs_avb/Android.bp trusty/Android.bp trusty/utils/rpmb_dev/Android.bp Added SPDX-license-identifier-BSD to: fastboot/fuzzy_fastboot/Android.bp Bug: 68860345 Bug: 151177513 Bug: 151953481 Test: m all Exempt-From-Owner-Approval: janitorial work Change-Id: Id740a7d2884556081fdb68876584b25eb95e1bef
2021-02-16Revert "[LSC] Add LOCAL_LICENSE_KINDS to system/core"Elliott Hughes
This reverts commit 187b7d19504ca8bdcbc6217c06a117017b4c6287. Reason for revert: system/core is multiple projects, not one. Change-Id: I790ea41741f8cd9b8b6db2f59a49e71fb0958fd6
2021-02-16[LSC] Add LOCAL_LICENSE_KINDS to system/coreBob Badour
Added SPDX-license-identifier-Apache-2.0 to: bootstat/Android.bp cli-test/Android.bp code_coverage/Android.bp cpio/Android.bp debuggerd/crasher/Android.bp debuggerd/proto/Android.bp diagnose_usb/Android.bp fs_mgr/libdm/Android.bp fs_mgr/libfiemap/Android.bp fs_mgr/liblp/Android.bp fs_mgr/libsnapshot/Android.bp fs_mgr/libstorage_literals/Android.bp fs_mgr/libvbmeta/Android.bp fs_mgr/tests/Android.bp fs_mgr/tools/Android.bp gatekeeperd/Android.bp healthd/Android.bp healthd/testdata/Android.bp init/Android.bp init/Android.mk init/sysprop/Android.bp init/test_kill_services/Android.bp init/test_service/Android.bp libappfuse/Android.bp libasyncio/Android.bp libbinderwrapper/Android.bp libcrypto_utils/Android.bp libcrypto_utils/tests/Android.bp libdiskconfig/Android.bp libgrallocusage/Android.bp libkeyutils/mini_keyctl/Android.bp libmodprobe/Android.bp libnetutils/Android.bp libpackagelistparser/Android.bp libprocessgroup/Android.bp libprocessgroup/cgrouprc/Android.bp libprocessgroup/cgrouprc_format/Android.bp libprocessgroup/profiles/Android.bp libprocessgroup/setup/Android.bp libqtaguid/Android.bp libsparse/Android.bp libstats/push_compat/Android.bp libsuspend/Android.bp libsync/Android.bp libsystem/Android.bp libsysutils/Android.bp libusbhost/Android.bp libutils/Android.bp libvndksupport/Android.bp libvndksupport/tests/Android.bp llkd/Android.bp llkd/tests/Android.bp property_service/libpropertyinfoparser/Android.bp property_service/libpropertyinfoserializer/Android.bp property_service/property_info_checker/Android.bp qemu_pipe/Android.bp reboot/Android.bp rootdir/Android.bp rootdir/Android.mk rootdir/avb/Android.bp rootdir/avb/Android.mk run-as/Android.bp sdcard/Android.bp set-verity-state/Android.bp shell_and_utilities/Android.bp storaged/Android.bp toolbox/Android.bp trusty/apploader/Android.bp trusty/confirmationui/Android.bp trusty/confirmationui/fuzz/Android.bp trusty/coverage/Android.bp trusty/fuzz/Android.bp trusty/fuzz/test/Android.bp trusty/gatekeeper/Android.bp trusty/gatekeeper/fuzz/Android.bp trusty/keymaster/Android.bp trusty/keymaster/fuzz/Android.bp trusty/libtrusty/Android.bp trusty/libtrusty/tipc-test/Android.bp trusty/secure_dpu/Android.bp trusty/storage/interface/Android.bp trusty/storage/lib/Android.bp trusty/storage/proxy/Android.bp trusty/storage/tests/Android.bp trusty/utils/spiproxyd/Android.bp trusty/utils/trusty-ut-ctrl/Android.bp usbd/Android.bp watchdogd/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to: debuggerd/Android.bp fastboot/Android.bp libkeyutils/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD SPDX-license-identifier-MIT to: Android.bp libcutils/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT to: fs_mgr/Android.bp fs_mgr/libfs_avb/Android.bp trusty/utils/rpmb_dev/Android.bp Added SPDX-license-identifier-BSD to: fastboot/fuzzy_fastboot/Android.bp Bug: 68860345 Bug: 151177513 Bug: 151953481 Test: m all Exempt-From-Owner-Approval: janitorial work Change-Id: I5bd81adb5cdcf2b4dd4141b204eb430ff526af8f
2020-07-31SocketClient: don't ignore SIGPIPETom Cherry
1) All current users are better off ignoring SIGPIPE at the beginning of their process instead of ignoring it just for SocketClient 2) This isn't thread safe if users did want it, since sigaction() ignores SIGPIPE for the entire process 3) This costs 5-10% of logd CPU time when logcat is reading logs Also clean up the error handling in SocketClient::sendDataLockedv(). Test: kill logcat and see that logd doesn't crash Test: run simpleperf and see that no cycles are going to sigaction Change-Id: I6532c8a0d71338e534411707b9a9bd785145c730
2020-07-28Cleanup for #inclusivefixit.Elliott Hughes
Test: treehugger Change-Id: I44f710cbda4497c9d01a1ff7c1dcdb8f0eda6acc
2020-05-13Set min_sdk_version to be part of mainline modulesJooyung Han
Modules contributing mainline modules (APK/APEX) should set min_sdk_version as well as apex_available. For now setting min_sdk_version doesn't change build outputs. But build-time checks will be added soon. Bug: 152655956 Test: m Change-Id: Ida890adfe6dfac79267fc0e18b63d2330266438c
2020-05-11Simplify code that parses ifa_flags.Lorenzo Colitti
When parsing an RTM_NEWADDR or RTM_DELADDR, ifaddr is always present (unless the message is invalid). So ifaddr->ifa_flags is always known before any attributes are parsed. Bug: 155005831 Test: atest NetworkStackNextIntegrationTests:IpClientIntegrationTest continues to apss Change-Id: Id1998faccca7d81c1b7f3e85e4912aa22919e94a
2020-05-10Parse IFA_F_* values above 0x80.Lorenzo Colitti
In RTM_NEWADDR messages, the first 8 flags are reported in the ifa_flags field in struct ifaddrmsg, but flags above 0x80 are reported in the IFA_FLAGS attribute. NetlinkEvent currently only looks at ifa_flags, so it cannot see higher-value flags such as IFA_F_STABLE_PRIVACY. Fix this by parsing the IFA_FLAGS attribute. Bug: 155005831 Test: makes new test in aosp/1295495 pass Change-Id: I723f1106cbcea2186fc6452305942a0f8301fd2a
2020-03-31NetlinkEvent - ignore captive portal and pref64 nd user optsMaciej Żenczykowski
These are provided to userspace by newer kernels. Test: builds Bug: 150648313 Change-Id: I811c75e9a4739db149f502b9a43c99a8ed883341
2020-02-14Allow apexes to link against more libsJeffrey Huang
Bug: 145923087 Test: m -j Change-Id: I45e002ffbd16f13b71f32c80e8a2f826bfa9ec2e
2019-12-10Copy necessary ipt_ULOG.h structure to source.Christopher Ferris
The ipt_ULOG.h file has been deprecated, so it's being removed from the bionic uapi kernel headers. Since this is the only code that is using that file, copy the one structure needed to parse one type of message into the file that needs it. Test: Builds. Change-Id: Ib879e655d598256c424792675d24e647eee33f89
2019-04-24Enable clang-tidy for libsysutils.Lorenzo Colitti
Enable the same warnings used elsewhere in the tree, and fix the two warnings it found (two safe uses of strcpy and one use of atoi). Test: builds, boots Test: atest libsysutils_tests Test: atest --test-mapping system/netd Change-Id: I8e5d04da20cc4127439ad9fbda0e4e64f0e671d3
2019-04-10Make the SocketListener control pipe O_CLOEXEC.Lorenzo Colitti
Children of processes that use SocketListener should not be able to stop the SocketListener. Test: builds, boots Test: atest libsysutils_tests Test: atest --test-mapping system/netd Change-Id: I64898d9966f62004468b8e8a43b59be4a81a8cc4
2019-03-21Enlarge cmd buffer size of FrameworkListenerLuke Huang
Only Netd and Logd use FrameworkListener currently. Run realted test to ensure anything are still fine. Bug: 126307309 Test: built, flashed, booted system/netd/tests/runtests.sh pass atest CtsLogdTestCases Change-Id: Iacd0cc13f23f457a0868a8a706080c3edc9a3cbd
2019-02-14Refactor OWNERS files for Android Core Networkingjunyulai
Bug: 120829091 Test: build/make/tools/checkowners.py -c -v path/OWNERS Change-Id: I0b9dd6a6c01e46d887d1161179ca3791f461dce6
2018-12-06libsysutils can be linked staticallyMike Yu
Let libsysutils able to be statically linked by libnetd_resolv to minimize the dependence on system ABI. Test: m libsysutils Change-Id: Ideb322dbc8d594a8a37d64f8140bc37090a4e238
2018-10-10Suppress implicit-fallthrough warning.Chih-Hung Hsieh
Bug: 112564944 Test: make checkbuild Change-Id: I2bcfd08ec62f6d5953a9e25dbeaa42ffefda6d1c
2018-09-17Suppress implicit-fallthrough warnings.Chih-Hung Hsieh
Add FALLTHROUGH_INTENDED for clang compiler. Bug: 112564944 Test: build with global -Wimplicit-fallthrough. Change-Id: I40f8bbf94e207c9dd90921e9b762ba51abab5777
2018-09-05Delete sysutils/List.hBernie Innocenti
Convert the last user to a regular std::vector, and then put List.h out of its misery. Turns out there's another copy of this ancient header: system/core/libutils/include/utils/List.h. This one is included in various places, but most don't actually use it. There seems to be a case for a tool to detect unused headers... Test: m Change-Id: Ie457bf5e06f6082537f5de2e1fefe7f05a1f0792
2018-08-28Merge "Use multiple patterns and emails in per-file syntax."Chih-hung Hsieh
2018-08-28SocketListener: use poll() instead of select()Bernie Innocenti
FD_SET is limited to 1024 file descriptors in Linux, which causes processes with too many open files or connections to crash: FORTIFY: FD_ISSET: file descriptor 1024 >= FD_SETSIZE 128 The fix we used elsewhere is replacing select() with poll(), but in the case of SocketListener we additionally need to replace the SocketClient list with a map indexed by fd in order to avoid quadratic behavior on each poll() wakeup. Bug: 79838856 Test: device boots and appears to work normally, tests pass Change-Id: I4a8f1804fa990d3db3a2c96b9acd60b2c7135950
2018-08-28libsysutils: add some rudimentary testsBernie Innocenti
Test: atest libsysutils_tests Change-Id: I3aa44c5af821c3161cf598b86216480d2424d336
2018-08-27Use multiple patterns and emails in per-file syntax.Chih-Hung Hsieh
Test: build/make/tools/checkowners.py -c -v OWNERS Change-Id: I60460b93903afbb01a87d7f11ac526fbde9f392c
2018-07-24[libsysutils] Modernize codebase by replacing NULL with nullptrYi Kong
Fixes -Wzero-as-null-pointer-constant warning. Test: m Bug: 68236239 Change-Id: I9e95daa0750f2622d1c4788941fdfae23ee61801
2018-06-27Merge "Parse IfIndex for Netlink RTM_NEWADDR / RTM_DELADDR event"Rubin Xu
2018-06-07Merge "libsysutils: Delete dead code: FrameworkClient"Treehugger Robot
2018-06-07libsysutils: Delete dead code: FrameworkClientBernie Innocenti
Test: mm Change-Id: I372f2aa8d7f7e3f5ce1cd9399292bef9e4900de7
2018-06-07Parse IfIndex for Netlink RTM_NEWADDR / RTM_DELADDR eventRubin Xu
Bug: 64692591 Test: cts-tradefed run commandAndExit cts-dev -m CtsHostsideNetworkTests -t com.android.cts.net.HostsideVpnTests Change-Id: Icb2ae1264f0d2fcd285b04edd27641175dd2646f Merged-In: Icb2ae1264f0d2fcd285b04edd27641175dd2646f (cherry picked from commit 3668291d8ece81ce1eccdee150588c2d71cae723)
2018-06-06Merge "Move per-file OWNERS directives to their directories."Lorenzo Colitti
2018-06-06Move per-file OWNERS directives to their directories.Lorenzo Colitti
As documented at go/gerrit-owners, per-file directives cannot contain directory paths. Therefore the current per-file directives in system/core/OWNERS have no effect. Test: build/make/tools/checkowners.py system/core/{,libsysutils/src/,include/sysutils/}OWNERS Change-Id: Ia88b2be42dd50346578bb51dd17fb6136a4591f1
2018-06-06Revert "SocketListener: use poll() instead of select()"Kevin Rocard
This reverts commit 0ad41cf3f44e5403132f7f620d8199446cb815b4. Reason for revert: Breaks many tests, see b/109745952#comment18 b/109745952#comment20 and b/79838856#comment19 amongst others Change-Id: I92db38d47cd1dcd7841091e37e3b65dce9456cdf
2018-05-25SocketListener: use poll() instead of select()Bernie Innocenti
FD_SET is limited to 1024 file descriptors in Linux, which causes processes with too many open files or connections to crash: FORTIFY: FD_ISSET: file descriptor 1024 >= FD_SETSIZE 128 The fix we used elsewhere is replacing select() with poll(), but in the case of SocketListener we additionally need to replace the SocketClient list with a map indexed by fd in order to avoid quadratic behavior on each poll() wakeup. Bug: 79838856 Test: device boots and appears to work normally Change-Id: I19ca4be675e9638104c0e7acf4a4bc62085e8ecd
2018-03-07Include iface index in the netlink eventChenbo Feng
The TrafficController inside netd also get notified when the interface on device added or removed, and it need both ifaceName and ifaceIndex information from Netlink event. Add the ifaceIndex in the event can avoid the TrafficController to run if_nametoindex again when receive the event. Bug: 30950746 Bug: 73137611 Test: new interface show up in bpf interface map. Change-Id: Ia3b4aeb8eff345ce7cf03ccec88f0893cfe125c0
2017-11-28Don't complain that the DNSSL RA option is "unknown".Lorenzo Colitti
This option isn't unknown, we just don't support it. Bug: 69778511 Test: walleye builds, boots, connects to IPv6 network Change-Id: If3a37d855f404da708fec4a7ba242ed41a493895
2017-10-05Stop depending on libnl.Lorenzo Colitti
We only use it for trivial functions. Replace them and drop the dependency. Bug: 67345547 Test: bullhead builds, boots Test: CtsOsTestCases android.os.cts.StrictModeTest passes Change-Id: I36254962284babdd1a55a32a76dd0dc92d85420c
2017-09-14Mark the modules as VNDK in Android.bpJustin Yun
As a VNDK module, Android.bp must have 'vndk' tag as well as 'vendor_available: true'. The 'vndk' tag for VNDK module is formated as below: vndk: { enabled: true, }, VNDK modules will be installed both in system/lib(64) as normal and in system/lib(64)/vndk as a vendor variant. Bug: 63866913 Test: build and boot with BOARD_VNDK_VERSION=current Merged-In: Icecb22ed2ed0f58c3168605d4cf64815e2dda750 Change-Id: Icecb22ed2ed0f58c3168605d4cf64815e2dda750 (cherry picked from commit 9b0ed7294273d5f10020388e5a5b7e545a2fd1de)
2017-07-11Remove old LOG_EVENT_* code from libsysutilsYifan Hong
As a side effect, this change fixes libbsysutils => liblog dependencies. LOG_EVENT_* macros are not defined for liblog.vendor. Test: BOARD_VNDK_VERSION=current mma Bug: 33241851 Bug: 63034227 Change-Id: I3df700d97481ec9aa59cf1796da1e991af28bdf5
2017-06-20libsysutils: Fix vold vulnerability in FrameworkListenerNIEJuhu
Don't release the sender socket when FrameworkListener receives a command that exceed the maximum buffer length Bug: https://issuetracker.google.com/issues/62812018 Test: manual Change-Id: I160f504f3fb902ba25fc79deb8ae7d78d811a807
2017-05-24Mark libsysutils vendor_available.Jayant Chowdhary
libsysutils belongs to vndk-cap. Mark it vendor_available to enable vndk abi stability checks on it. Details: https://android-review.googlesource.com/368372 Test: mm -j64 Bug: 38244611 Change-Id: I3ef1d09c7e836549eb13ce68ac7cdcd5923bde0f
2017-04-24libsysutils: Android.mk -> Android.bpSteven Moreland
Test: links Change-Id: If1d034ecb880e8c41d58b14ebebcda5b72e88424
2017-02-28There's no longer a limit to property names.Elliott Hughes
Bug: http://b/33926793 Test: boots Change-Id: I8554d7af74e064c114cf817f5a2ba1247fa2a2db
2017-02-08fix warning: Null pointer argument in call to memory comparison functionYunlian Jiang
This fixes warning: Null pointer argument in call to memory comparison function [clang-analyzer-cplusplus.NewDeleteLeaks] Bug: None Test: The warning is gone. Change-Id: I957365184966cc1435d7e37d64f2cc6a32846ebd
2017-01-24Exporting C++ headers from system/coreVijay Venkatraman
Moved headers from include/libutils and include/libsysutils to libutils/include and libsysutils/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. Moved headers of libutils to libutils_headers. They should be used by modules for header-only inlines. Added libutils_headers as dependency of libutils. Split of C++ headers into those that have no dependency and those that have dependency on libutils.so will be handled in a later CL. Test: Add above libs to shared lib of local module Change-Id: I122db72056b26b1f39bad1d9a0c2a1c5efda3550
2016-10-20Merge "system/core: preparation to pull back interfaces from android/log.h"Mark Salyzyn
am: 27d2d49f48 Change-Id: I604bb1d4cf62636663fa92e3d14a55887dbcae23
2016-10-20system/core: preparation to pull back interfaces from android/log.hMark Salyzyn
Point to log/log.h where necessary, define LOG_TAG where necessary. Accept that private/android_logger.h is suitable replacement for log/logger.h and android/log.h. Correct liblog/README Effectively a cleanup and controlled select revert of 'system/core: drop or replace log/logger.h' and 'system/core: Replace log/log.h with android/log.h'. Test: compile Bug: 30465923 Change-Id: Ic2ad157bad6f5efe2c6af293a73bb753300b17a2
2016-09-30system/core Replace cutils/log.h with android/log.h am: 66ce3e08c5Mark Salyzyn
am: eb189f147b Change-Id: I3f2b13e259d9bbb7bc714f21eab7181fa72c35bf
2016-09-30system/core Replace cutils/log.h with android/log.hMark Salyzyn
Should use android/log.h instead of cutils/log.h as a good example to all others. Adjust header order to comply with Android Coding standards. Test: Compile Bug: 26552300 Bug: 31289077 Change-Id: I2c9cbbbd64d8dccf2d44356361d9742e4a9b9031
2016-08-23Merge "Most accept/accept4 calls in system/core don't actually want the ↵Elliott Hughes
remote address." am: 299d64144b am: 8615d79d85 Change-Id: I89aeabf6efa8217c9acd3f8a766bbd18f7e994fa
2016-08-23Merge "Most accept/accept4 calls in system/core don't actually want the ↵Elliott Hughes
remote address." am: 299d64144b Change-Id: I3fb9678dfed08f0b1d6e90e547ecae6cdcabc9a1