summaryrefslogtreecommitdiff
path: root/src/vm/eventpipe.h
diff options
context:
space:
mode:
authorKoundinya Veluri <kouvel@users.noreply.github.com>2019-06-14 12:48:45 -0700
committerGitHub <noreply@github.com>2019-06-14 12:48:45 -0700
commit54d82b2c1b385025ea84a9fb8c60caa76f371f34 (patch)
tree79676bc6caaa02464f6d270c92db36114eb1630f /src/vm/eventpipe.h
parent261b860d3c1599724751135b56c605e3edc293bd (diff)
downloadcoreclr-54d82b2c1b385025ea84a9fb8c60caa76f371f34.tar.gz
coreclr-54d82b2c1b385025ea84a9fb8c60caa76f371f34.tar.bz2
coreclr-54d82b2c1b385025ea84a9fb8c60caa76f371f34.zip
Fix crash/corruption in VSD hash tables when backpatching entry point slots is enabled (#25158)
Fixes https://github.com/dotnet/coreclr/issues/25080 - The prober used to look for an item (`DispatchStub` or `ResolveCacheElem`) stores information specific to the table - Cooperative GC mode guarantees that the information stored in the prober remains valid when the prober is reused to add a new item when one is not found - The lock taken to record/backpatch an item's slot exits and reenters cooperative GC mode, which can cause the table to be reclaimed and replaced with a new table, and the prober still refers to the old table - Upon adding the new item it may crash or corrupt some other memory - Fixed by resetting the prober if a path is taken that may reenter cooperative GC mode
Diffstat (limited to 'src/vm/eventpipe.h')
0 files changed, 0 insertions, 0 deletions