Commit
25f0f858
authored
by
Committed by
swiftshader-scoped@luci-project-accounts.iam.gserviceaccount.com
Limit LLVM routine stack size to 512 KiB
Fuzzing tests generate shaders with large arrays or very high numbers of
local variables, which can cause stack overflow. We need to limit the
allowable stack memory usage of generated routines.
Note this change does not yet gracefully deal with routines which exceed
this limit. They will cause a null pointer dereference instead of a
stack overflow.
The 512 KiB stack size limit is chosen to prevent actual stack overflow
for a 1 MiB stack, assuming some earlier calls might want to use the
stack. Also, our legacy 'ASM' compiler for GLSL allocates 4096
'registers' of 4 components for 128-bit SIMD, which already requires
256 KiB.
Bug: b/157555596
Change-Id: I25c57420f6d2af323ce98faf515feca0aa834a4a
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/51548
Presubmit-Ready: Nicolas Capens <nicolascapens@google.com>
Kokoro-Result: kokoro <noreply+kokoro@google.com>
Reviewed-by:
Antonio Maiorano <amaiorano@google.com>
Tested-by:
Nicolas Capens <nicolascapens@google.com>
Commit-Queue: Nicolas Capens <nicolascapens@google.com>
Showing
Please
register
or
sign in
to comment