No description
Find a file
Paul Crowley de2d6201ab Refactor ForkExecvp to improve locking behaviour
Do our own fork/exec rather than using a library. This leads to
many improvements:

- unite the output recording path with the other path
- never concatenate arguments with spaces
- never use the shell
- move setexeccon after fork, so we don't need to take the lock
- general code refactor while we're there

My tests:
- Ensure Marlin device boots and vold_prepare_subdirs is called
successfully
- Try adb shell sm set-virtual-disk true, see that eg sgdisk output is
logged.

weilongping@huawei.com's tests:
- unlock a user's de and ce directory;
- connect to a OTG storage device or a sdcard and ensure the mount logic be successful

Bug: 26735063
Bug: 113796163
Test: details in commit
Change-Id: I0976413529d7cbeebf5b8649660a385f9b036f04
2018-12-06 09:37:02 -08:00
bench Abort long-running benchmarks, report progress. 2017-11-07 09:57:12 -07:00
binder/android/os Change AppFuse mount location to vold namespace 2018-11-13 22:46:23 +00:00
fs Refactor ForkExecvp to improve locking behaviour 2018-12-06 09:37:02 -08:00
model Refactor ForkExecvp to improve locking behaviour 2018-12-06 09:37:02 -08:00
tests clang-format many files. 2018-09-18 15:41:22 -07:00
.clang-format Get ourselves some clang-format. 2017-10-18 12:17:36 -06:00
Android.bp Remove dependency on libparcelfiledescriptor 2018-12-04 12:22:47 +00:00
AppFuseUtil.cpp Extract AppFuse as a util 2018-11-14 07:28:06 +00:00
AppFuseUtil.h Extract AppFuse as a util 2018-11-14 07:28:06 +00:00
Benchmark.cpp Update vold to log only debug or higher level messages. 2018-09-21 11:16:51 -07:00
Benchmark.h clang-format many files. 2018-09-18 15:41:22 -07:00
BenchmarkGen.h Abort long-running benchmarks, report progress. 2017-11-07 09:57:12 -07:00
CheckEncryption.cpp Test that plaintext can't be read from disk for encrypted files. 2017-10-27 15:14:56 -07:00
CheckEncryption.h Test that plaintext can't be read from disk for encrypted files. 2017-10-27 15:14:56 -07:00
Checkpoint.cpp Fix error reporting in cp_commitChanges 2018-11-19 23:47:03 +00:00
Checkpoint.h Switch to exceptions for most cp calls 2018-10-16 20:06:47 +00:00
CleanSpec.mk Add an empty CleanSpec.mk 2010-03-08 18:05:25 -08:00
cryptfs.cpp Wait for dm device to be ready before format 2018-11-05 13:59:08 -08:00
cryptfs.h clang-format many files. 2018-09-18 15:41:22 -07:00
Devmapper.cpp Update vold to log only debug or higher level messages. 2018-09-21 11:16:51 -07:00
Devmapper.h clang-format many files. 2018-09-18 15:41:22 -07:00
EncryptInplace.cpp Update vold to log only debug or higher level messages. 2018-09-21 11:16:51 -07:00
EncryptInplace.h Add a mount with metadata encryption service 2018-02-01 10:08:17 -08:00
FileDeviceUtils.cpp clang-format many files. 2018-09-18 15:41:22 -07:00
FileDeviceUtils.h clang-format many files. 2018-09-18 15:41:22 -07:00
FsCrypt.cpp Add fsync for renaming user ce key path 2018-11-15 06:25:37 +00:00
FsCrypt.h vold: rename from "ext4 encryption" to fscrypt 2018-10-25 17:12:32 -07:00
hash.h clang-format many files. 2018-09-18 15:41:22 -07:00
IdleMaint.cpp Merge "health.filesystem HAL renamed to health.storage" 2018-09-20 17:26:53 +00:00
IdleMaint.h Add functions to handle idle maintenance 2017-11-14 15:12:30 -08:00
KeyBuffer.cpp clang-format many files. 2018-09-18 15:41:22 -07:00
KeyBuffer.h clang-format many files. 2018-09-18 15:41:22 -07:00
Keymaster.cpp Explain the rationale for not using StrongBox in vold. 2018-05-17 15:24:56 -06:00
Keymaster.h Do Keymaster HMAC key agreement in vold. 2018-05-09 15:14:34 -06:00
KeyStorage.cpp clang-format many files. 2018-09-18 15:41:22 -07:00
KeyStorage.h When we forget a volume, forget per-volume key 2017-10-26 12:19:09 -07:00
KeyUtil.cpp vold: get the fscrypt kernel API declarations from linux/fs.h 2018-10-25 17:12:32 -07:00
KeyUtil.h clang-format many files. 2018-09-18 15:41:22 -07:00
Loop.cpp Update vold to log only debug or higher level messages. 2018-09-21 11:16:51 -07:00
Loop.h clang-format many files. 2018-09-18 15:41:22 -07:00
main.cpp Update vold to log only debug or higher level messages. 2018-09-21 11:16:51 -07:00
MetadataCrypt.cpp vold: rename from "ext4 encryption" to fscrypt 2018-10-25 17:12:32 -07:00
MetadataCrypt.h vold: rename from "ext4 encryption" to fscrypt 2018-10-25 17:12:32 -07:00
MoveStorage.cpp clang-format many files. 2018-09-18 15:41:22 -07:00
MoveStorage.h clang-format many files. 2018-09-18 15:41:22 -07:00
NetlinkHandler.cpp clang-format many files. 2018-09-18 15:41:22 -07:00
NetlinkHandler.h clang-format many files. 2018-09-18 15:41:22 -07:00
NetlinkManager.cpp clang-format many files. 2018-09-18 15:41:22 -07:00
NetlinkManager.h clang-format many files. 2018-09-18 15:41:22 -07:00
OWNERS Add OWNERS in system/vold 2017-06-09 14:55:46 -07:00
PREUPLOAD.cfg vold should be fully developed in AOSP. 2018-09-11 12:08:43 -06:00
Process.cpp clang-format many files. 2018-09-18 15:41:22 -07:00
Process.h Move to modern utility methods from android::base. 2017-10-17 12:40:51 -06:00
ScryptParameters.cpp clang-format many files. 2018-09-18 15:41:22 -07:00
ScryptParameters.h clang-format many files. 2018-09-18 15:41:22 -07:00
secdiscard.cpp clang-format many files. 2018-09-18 15:41:22 -07:00
secontext.cpp clang-format many files. 2018-09-18 15:41:22 -07:00
secontext.h Be more C++. volume UUID should always be std::string. 2017-10-09 13:36:35 -07:00
sehandle.h clang-format many files. 2018-09-18 15:41:22 -07:00
Utils.cpp Refactor ForkExecvp to improve locking behaviour 2018-12-06 09:37:02 -08:00
Utils.h Refactor ForkExecvp to improve locking behaviour 2018-12-06 09:37:02 -08:00
vdc.cpp Switch to exceptions for most cp calls 2018-10-16 20:06:47 +00:00
vdc.rc Remove all references to FDE enable wipe 2017-12-22 11:17:15 -08:00
vold.rc vold: Grant root group 2018-08-08 17:08:02 -07:00
vold_prepare_subdirs.cpp Do not crash if secontext is nullptr 2018-09-17 16:15:33 -07:00
VoldNativeService.cpp Change AppFuse mount location to vold namespace 2018-11-13 22:46:23 +00:00
VoldNativeService.h Change AppFuse mount location to vold namespace 2018-11-13 22:46:23 +00:00
VoldUtil.cpp Add GetBlockDevSize, GetBlockDevSectors helpers 2018-09-24 14:25:24 +02:00
VoldUtil.h Add GetBlockDevSize, GetBlockDevSectors helpers 2018-09-24 14:25:24 +02:00
VolumeManager.cpp Merge "Extract AppFuse as a util" 2018-11-30 05:05:10 +00:00
VolumeManager.h Extract AppFuse as a util 2018-11-14 07:28:06 +00:00
wait_for_keymaster.cpp add wait_for_keymaster 2018-05-09 12:59:18 -07:00
wait_for_keymaster.rc Add rc file for wait_for_keymaster 2018-05-15 16:15:21 -07:00