summaryrefslogtreecommitdiff
path: root/libpackagelistparser/packagelistparser_test.cpp
diff options
context:
space:
mode:
authormtk16036 <squall.ko@mediatek.com>2019-05-31 19:05:22 +0800
committerSuren Baghdasaryan <surenb@google.com>2019-06-11 10:52:25 -0700
commit53f79e6861302ed58118b9a5624e97183b4dc3e0 (patch)
tree90e19e59e28dfe86ac4862b12ab2e01a915ed610 /libpackagelistparser/packagelistparser_test.cpp
parent1d7f3b4f4e4bda94cc1a9b6e4291b414b97a3180 (diff)
race condition in libprocessgroup
while enable fdsan (file descriptor sanitizer), fdsan report use-after-close error after boot complete (sedom). Because, in SetCgroupAction::EnableResourceCaching() currently has a data race against all the use fd_ functions like SetCgroupAction::ExecuteForProcess(uid_t uid, pid_t pid) etc. ThreadA | ThreadB ------------------------------------------------------------------------------------------------- in SetCgroupAction::EnableResourceCaching() | in SetCgroupAction::ExecuteForProcess(...) ------------------------------------------------------------------------------------------------- | in SetCgroupAction::AddTidToCgroup(int tid, int fd) ------------------------------------------------------------------------------------------------- fd_ = std::move(fd); /*modified fd_ value*/ | ------------------------------------------------------------------------------------------------- | write(fd) /* crash here, fd is closed by ThreadA*/ ------------------------------------------------------------------------------------------------- So, add mutex lock to protect fd_ data race. Bug: 134120826 Test: auto test, run the adb reboot test 100 times and no fdsan error report on libprocessgroup Change-Id: Iccf2f705e030f79324f1164509e715dc5be825de
Diffstat (limited to 'libpackagelistparser/packagelistparser_test.cpp')
0 files changed, 0 insertions, 0 deletions