540b1556c9
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 Merged-In: Iccf2f705e030f79324f1164509e715dc5be825de Change-Id: Iccf2f705e030f79324f1164509e715dc5be825de |
||
---|---|---|
.. | ||
cgrouprc | ||
cgrouprc_format | ||
include/processgroup | ||
profiles | ||
setup | ||
Android.bp | ||
cgroup_map.cpp | ||
cgroup_map.h | ||
OWNERS | ||
processgroup.cpp | ||
sched_policy.cpp | ||
task_profiles.cpp | ||
task_profiles.h |