SpirvShader::InterfaceComponent is used as part of the state that comprises the lookup key for cached Reactor routines. It uses 1-bit bitfields for Boolean values, and the bits following it for padding may be left uninitialized by the compiler. Computing the hash of all the state is done by XORing together the memory, so it shouldn't have any- thing uninitialized. While we memset all of SetupProcessor::State to 0, the InterfaceComponent state copied in still contained the uninitialized bits. Computing a hash from it was detected by MemorySanitizer. Bug chromium:967824 Change-Id: If1676831fc838bf2a6ca869d13e6f6d2052fa6d8 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/32128 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Tested-by:Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com> Reviewed-by:
Sean Risser <srisser@google.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .vscode | Loading commit data... | |
| build | Loading commit data... | |
| build_overrides | Loading commit data... | |
| docs | Loading commit data... | |
| extensions | Loading commit data... | |
| include | Loading commit data... | |
| src | Loading commit data... | |
| tests | Loading commit data... | |
| third_party | Loading commit data... | |
| .dir-locals.el | Loading commit data... | |
| .gitignore | Loading commit data... | |
| .gitmodules | Loading commit data... | |
| .travis.yml | Loading commit data... | |
| AUTHORS.txt | Loading commit data... | |
| Android.bp | Loading commit data... | |
| Android.mk | Loading commit data... | |
| BUILD.gn | Loading commit data... | |
| CMakeLists.txt | Loading commit data... | |
| CONTRIBUTING.txt | Loading commit data... | |
| CONTRIBUTORS.txt | Loading commit data... | |
| LICENSE.txt | Loading commit data... | |
| OWNERS | Loading commit data... | |
| README.md | Loading commit data... | |
| SwiftShader.sln | Loading commit data... |