Harden native gate thread against affinity mask growth (#59132)
authorKoundinya Veluri <kouvel@users.noreply.github.com>
Wed, 15 Sep 2021 14:08:56 +0000 (07:08 -0700)
committerGitHub <noreply@github.com>
Wed, 15 Sep 2021 14:08:56 +0000 (07:08 -0700)
commit2b8e9aa3ab8edddd0238380298dbcef597d025e2
tree09a4dec5a04efa0b7e93b9c107c16337608a0f41
parent23789fd1467bd3149fe40de95cee237b75cc1e3b
Harden native gate thread against affinity mask growth (#59132)

Hardened ThreadpoolMgr::GateThreadStart against the possibility that the observed group-local affinity mask contains set bits at positions higher than the total group-local CPU count that was captured during earlier initialization.

This fixes customer-reported crashes which have occurred on multi-group machines with heterogenous CPU counts across groups (but the same crash can probably also occur on single-group VMs if CPUs are hot-added and are then manually added to the process affinity mask).
src/coreclr/vm/win32threadpool.cpp