diff options
author | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-09-06 14:07:50 +0900 |
---|---|---|
committer | Qijiang Fan <fqj@google.com> | 2020-06-04 15:11:51 +0900 |
commit | 96ccf59f5b1d6ad57e1e7741417c19bfd12eab4d (patch) | |
tree | 416d124956a1092cddc359b8bcdc8d4c78c7479b /third_party | |
parent | 38298c537a4765d33b6acb7482cf3c75cc296243 (diff) | |
download | libchrome-96ccf59f5b1d6ad57e1e7741417c19bfd12eab4d.tar.gz |
Update ReadProcMaps() to reflect lack of atomicity when reading /proc/self/maps.
Reading from procfs returns at most a page-sized amount of data. If the process has a larger-than-page-sized /proc/self/maps, we cannot guarantee that the virtual memory table hasn't changed while reading the entire contents from procfs.
In addition, ReadProcMaps() now stops reading as soon as it finds a gate VMA entry to workaround a scenario where the kernel would return duplicate entries (it turns out ThreadSanitizer v2 was very good at triggering said scenario).
BUG=258451
Review URL: https://chromiumcodereview.appspot.com/18661009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@221570 0039d316-1c4b-4281-b951-d872f2087c98
CrOS-Libchrome-Original-Commit: 35c80839eeb8b63d308c4cc2dd950796d1616d82
Diffstat (limited to 'third_party')
0 files changed, 0 insertions, 0 deletions