summaryrefslogtreecommitdiff
path: root/toolbox
AgeCommit message (Collapse)Author
2021-04-01Update owners for modprobe.cWill McVicker
Test: treehugger Change-Id: I5989f49c284b4f06a24b6350a531902832e2eef5
2021-03-31libmodprobe: refactor blocklist functionalityWill McVicker
Remove the function EnableBlocklist() and add a constructor argument to enable/disable the use of modules.blocklist. In all cases, the enabling/disabling of the blocklist happens immediately after creating the Modprobe object. So this simplies libmodprobe. Additionally, the use of the blocklist by libmodprobe should be enabled by default unless explicitly disabled during creation of the Modprobe object. Currently, only modprobe(8) defaults to not using the blocklist and includes the argument -b BLOCKLIST for enabling it. That functionality remains. This refactor allows us to use the blocklist during first stage init. However, additional logic is needed to not return an error for the blocked non-aliased modules during first stage init; otherwise, the error would result in an init crash leading to a device reboot. So fixup LoadListedModules() to allow blocking modules without returning an error. Bug: 182582036 Test: boot test on pixel 5 with a module in modules.blocklist Change-Id: I394b5aa98fa98821011982cfe693749010c381f7
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
2021-02-04Remove all the `cpp_std: "experimental"`s.Elliott Hughes
None of them are necessary, and it's more intention-revealing to say `c++2a` or whatever anyway. Test: treehugger Change-Id: Ie1df26499d160d6fc757d17fcb0121997bda14f9
2020-11-16iorap: Remove toggling iorapd on/off when using 'start' command.yawanng
Bug: 173166524 Test: adb shell stop Test: adb shell start Change-Id: I09722380f249405aeeb8a68287828d602313baa2
2020-07-13Merge "toolbox: make all janitors the owners." am: 5f33339b2f am: 459b5d6350Treehugger Robot
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1351802 Change-Id: Iaae36f98c07c3b1aed137d5b0763d92e4c03f9fd
2020-07-13Merge "toolbox: make all janitors the owners."Treehugger Robot
2020-06-26Merge "modprobe: add -s/--syslog flag" am: 14260d2314 am: ef4a78efbbTreehugger Robot
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1348924 Change-Id: If2f8a0975c46c321bc2ea84de5b3e29fa8462cea
2020-06-26toolbox: make all janitors the owners.Elliott Hughes
There shouldn't be much activity in here, but getprop/setprop and modprobe probably aren't going anywhere... Test: treehugger Change-Id: If5726dcb62a47549e10767c7a984614bcff8ea1f
2020-06-26modprobe: add -s/--syslog flagMark Salyzyn
There is a desire to ensure that modprobe as a service can log to kmesg to help triage issues, so add support for the -s or --syslog flag to do so. SideEffects: - help goes to stdout instead of stderr. - verbose flag once, sets DEBUG, twice, sets VERBOSE minimum. - quiet flag sets WARNING minimum. Bug: 159424228 Bug: 151950334 Test: use modprobe as a service to load modules, check logs Change-Id: I884995f364b0fc604861797eb90d7225a372f864
2020-06-26Merge "modprobe: add --all=modules.load flag" am: 3d246cced8 am: f1ae0e66e3Mark Salyzyn
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1346626 Change-Id: Ife797bebbdaf80f6d3aa71bd9d3d5f9033428573
2020-06-25Merge "modprobe: switch to getopt_long for argument parsing" am: d894b463f1 ↵Treehugger Robot
am: f946ba79cf Original change: https://android-review.googlesource.com/c/platform/system/core/+/1348923 Change-Id: Ic4a81b57517064b7c2c6da73c402266dde3c2b2a
2020-06-24modprobe: add --all=modules.load flagMark Salyzyn
Add a means to specify the modules to load from a file, rather than on the argument list by adding an optional argument to the --all flag. This allows modprobe to be designated as a standalone service to load a long series of modules in the background and be specified separately. The specified (module.load) file contains a newline separate list of module names, and supports line comments using '#' since this file may be maintained by a human or scripting that requires tagging for regions of the file. Bug: 159424228 Bug: 151950334 Test: use modprobe as a service to load modules Change-Id: Id32641c7244e65848fca3a4a82c8d08b2042bf2f
2020-06-24modprobe: switch to getopt_long for argument parsingMark Salyzyn
Add support for long options, and fit existing options to upstream behaviors and extensions. Fix some missing std::endl and android::base::Join() usage. Bug: 159424228 Bug: 151950334 Test: manually test long options work Change-Id: Id792d87d4407628e706aeccecb6e2bce22bcad10
2020-06-16Merge changes I14ed0839,I59f9fde5 am: 4db1b12b3c am: 24d0e12b3eTreehugger Robot
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1339607 Change-Id: I683998901098e58371f89ab5a71df89e57af67dc
2020-06-15modprobe: Use more inclusive language for modprobe and libmodprobeMark Salyzyn
blacklist is replaced with blocklist. Test: none Change-Id: I59f9fde5900b9aee82aca1eab4a6ded3d136063b
2020-04-23Control audio HAL services in start/stopYtai Ben-Tsvi
Some system services (e.g. SoundTriggerMiddleware) assume that whenever they start, the audio HAL is in its default (reset) state. init.rc scripts tie the lifetimes of the audio HAL and system processes, but when using stop/start this is not the case, and this may cause spurious crashes in this case. stop/start is apparently being relied on in some test infrastructure, so this change is needed to avoid causing problems for those systems or false detection of problems, which are not actually present in production. Bug: 154029444 Test: Manually verify that the audio HAL is stopped on 'adb shell stop', restarted on 'adb shell start' and that the system boots correctly after. Change-Id: I39878b978b47a169c4fe446c43d7347809d15e06 Merged-In: I39878b978b47a169c4fe446c43d7347809d15e06
2020-04-23Control audio HAL services in start/stopYtai Ben-Tsvi
Some system services (e.g. SoundTriggerMiddleware) assume that whenever they start, the audio HAL is in its default (reset) state. init.rc scripts tie the lifetimes of the audio HAL and system processes, but when using stop/start this is not the case, and this may cause spurious crashes in this case. stop/start is apparently being relied on in some test infrastructure, so this change is needed to avoid causing problems for those systems or false detection of problems, which are not actually present in production. Bug: 154029444 Test: Manually verify that the audio HAL is stopped on 'adb shell stop', restarted on 'adb shell start' and that the system boots correctly after. Change-Id: I39878b978b47a169c4fe446c43d7347809d15e06
2020-04-16start: Toggle iorapd on/off when using 'start' command (by itself)Igor Murashkin
iorapd depends on pm in system_server, so turn it off too when we turn off system_server with the 'stop' command. Bug: 153964298 Test: adb shell stop Test: adb shell start Change-Id: I08390472b1e1b969d0380843efa1bbd35b194250
2019-08-06toolbox: add modprobeSteve Muckle
Add an implementation of modprobe based on libmodprobe. Change-Id: I85ba440766406fe6ca7e90bec204d06632785a66
2019-07-08toolbox: drop NetBSD grep for toybox grep.Elliott Hughes
Test: toybox grep tests Change-Id: Ifb99980cc4d0a4d843a82671b2e2eaad67829e5c
2019-06-06toolbox: add setprop, start, and stopTom Cherry
Move these from toybox as they're Android specific and more easily maintained here. A few changes during the conversion: * Report error in setprop if value is not a UTF8 string; this would previously fail only after attempting to set the property * Inform users to check dmesg for further failure messages for all three programs * Only start/stop zygote_secondary if the device is not single arch Bug: 117321744 Bug: 133901248 Test: setprop works, start and stop work on single and multi-arch. Change-Id: Id2194cf2b65221bde38aff91f0e86b33edb37f42
2019-04-04Remove `r` in R.Elliott Hughes
Obsoleted by toybox `devmem` instead. Test: builds Change-Id: I35c1ed2cfa9b3073cab405cfaf3c989fb2a72aa2
2019-04-01grep: fix ASan heap-buffer-overflow.Elliott Hughes
Like the regular fgetln(), grep_fgetln() doesn't NUL-terminate the string, which regexec() doesn't like. ASan just gained the ability to intercept regexec(), which is why we didn't find this previously. Bug: http://b/129089665 Test: adb shell grep -R /system -e "abc" Test: toybox grep tests Change-Id: Id707cea66a873b83bd763a3dcdf726ac7d062ce0
2019-03-28BSD grep: sync with upstream.Elliott Hughes
No significant changes, but this does get rid of our local modifications. Bug: http://b/129089665 Test: builds Change-Id: Ie6e3cc2198c302fc998fe6fcf027661e5dca88f0
2019-03-01toolbox: make "r" available for /vendorPetri Gynther
Make "r" package available for /vendor, so that we can easily add: PRODUCT_PACKAGES_DEBUG += r.vendor in device/google/<device>/device.mk Change-Id: I46c23a85c95444083b8e4b68961c541d9af9b216
2019-01-15toolbox: getevent: disable stdout bufferingGary Bisson
So that the getevent output can be redirected and still be responsive when events occur. A good example is when using 'adb shell getevent' command, this latter would only display the events when the buffer is full. With this patch as soon as an event is received/printed, it is flushed to stdout. Change-Id: I77eee96ed1aa59bf8d82f17eab666976ce966def Signed-off-by: Gary Bisson <gbisson@essential.com>
2018-08-24getevent: O_RDWR -> O_RDONLY | O_CLOEXECNick Kralevich
No need to open the device read write. Just open it read-only. This is a partial redo of https://android-review.googlesource.com/c/platform/system/core/+/334583 which was reverted in https://android-review.googlesource.com/c/platform/system/core/+/342483 Bug: 30861057 Test: ran getevent, saw correct output, played with device Change-Id: I426efd68f39dcd97d3ee23c13ed1a9ed96cb4c2e
2018-08-01Move back to BSD grep, and make it available for recovery too.Elliott Hughes
Bug: http://b/111849261 Bug: https://bugs.exim.org/show_bug.cgi?id=2294 Test: manual Change-Id: Ia4f67b9f803c4f039d170f6d015a1bd2bb0ef23d
2018-07-26Revert "Switch to PCRE grep."Elliott Hughes
This reverts commit 90a018a87a605de6ad3550861143f1a5f7917570. Not a clean revert because things have changed slightly, and I'm sticking with the egrep/fgrep shell scripts for now. Bug: http://b/111849261 Bug: https://bugs.exim.org/show_bug.cgi?id=2294 Test: manual Change-Id: I72ae637c84f0eb1c2b5291db73ebff1628d54110
2018-06-20Merge "newfs_msdos: switch to external/newfs_msdos."Treehugger Robot
2018-06-13newfs_msdos: switch to external/newfs_msdos.Elliott Hughes
Bug: http://b/29899852 Test: builds Change-Id: Iecd80d0c64cb5eec4c76ba4bce775508ee45df49
2018-06-10Shared libs are supported in recovery modeJiyong Park
adbd has been built as a static executable since the same binary was copied to the recovery partition where shared library is not supported. However, since we now support shared library in the recovery partition, adbd is built as a dynamic executable. In addition, the dependency from adbd to libdebuggerd_handler is removed as debuggerd is handled by the dynamic linker. A few more modules in /system/core are marked as recovery_available: true as they are transitive dependencies of the dynamic linker. This change also includes ld.config.recovery.txt which is the linker config file for the recovery mode. It is installed to /etc/ld.config.txt and contains linker namespace config for the dynamic binaries under /sbin. Bug: 63673171 Test: `adb reboot recovery; adb devices` shows the device ID Test: Select 'mount /system' in the recovery mode, then `adb shell`. $ lsof -p `pidof adbd` shows that libm.so, libc.so, etc. are loaded from the /lib directory. Change-Id: I363d5a787863f1677ee40afb5d5841321ddaae77
2018-05-02Compile toolbox's newfs_msdos for the hostDan Willemsen
For potential use with build/make/tools/fat16copy.py Bug: 63035155 Test: mmma system/core/toolbox; newfs_msdos Change-Id: I8ad50b8c181fc4ec21e191ec9fea8e9aa11d2d9b
2018-04-23Switch to PCRE grep.Elliott Hughes
Bug: http://b/77150016 Test: boots, manual testing Change-Id: I377ca42ed9783edcceab4daabe43e993ef74e837
2018-04-20Remove BSD dd.Elliott Hughes
Bug: N/A Test: builds Change-Id: Id80364241434abfc216149b4ce7440cef700abef
2018-04-20Lose dd to toybox.Elliott Hughes
Just the symlink for now. If this sticks, I'll come back to remove the code. Bug: N/A Test: `toolbox dd --help` Change-Id: I9b967e9246f42db0d1f48d9d147c538d57fb3bc8
2018-01-22Build toolbox with _FILE_OFFSET_BITS=64.Elliott Hughes
32-bit devices still exist... Bug: http://b/72335947 Test: builds Change-Id: Ia644640f19ad9d9160554e3fe329b3ce8e585c66
2018-01-12getprop: add -T option to return a property's typeTom Cherry
Bug: 70858511 Test: Return property types correctly Change-Id: I506582d88c12a7f52d699635a41b24de4bc80289
2018-01-10Reland: Add getprop to toolboxTom Cherry
Add a non-toybox version of getprop, so that we can interface with the new C++ PropertyInfoAreaFile class to return property context information. Bug: 36001741 Test: Compared toolbox getprop results with toybox getprop Change-Id: I4e90aa5b843cb5cfcbe85f05f23ae8e22729b26e
2018-01-10Merge "Add toolbox to vendor"Tom Cherry
2018-01-09Just check in tools.h.Elliott Hughes
Bug: N/A Test: builds Change-Id: Ia08465799854a85da59c9fb9f5448aab11f81887
2018-01-09Add toolbox to vendorTom Cherry
In preparation for adding getprop to toolbox Test: toolbox is present in vendor Change-Id: I8f2f7f8359902e84c14cc0c4adf349475d1d7aa7
2018-01-09Revert "Add getprop to toolbox"Tom Cherry
This reverts commit c73497e17a1f0be9afd6903f58dea3ea5b01be08. Change-Id: Id6b84c86781a6ad7b675c10f142c3daa4117ec46
2018-01-08Convert toolbox to Android.bpDan Willemsen
This drops the *TOOLS automated logic, though since there are only three tools now, that seems less important. It would have been possible to implement that logic in a Go plugin, but that seems like a lot of overkill to fix a few duplicated entries. See build/soong/README.md for more information. Test: mmma system/core/toolbox Test: List of installed files is the same Test: input.h-labels.h and tools.h are the same Change-Id: I9753083c3f689e689e40001b998b39ad20509598
2018-01-08Add getprop to toolboxTom Cherry
Add a non-toybox version of getprop, so that we can interface with the new C++ PropertyInfoAreaFile class to return property context information. Bug: 36001741 Test: Compared toolbox getprop results with toybox getprop Change-Id: I5f98f9e895d0620a2d9686bc0608490e7d9c3120
2017-12-07Merge "Add OWNERS."Elliott Hughes
2017-12-07Add OWNERS.Elliott Hughes
Bug: N/A Test: N/A Change-Id: Ie785058c0f5eb9b4086c98ccba6e63e3ed411b65