spirv-fuzz: Fix in operand type assertion#3666
Merged
paulthomson merged 1 commit intoKhronosGroup:masterfrom Aug 11, 2020
Merged
spirv-fuzz: Fix in operand type assertion#3666paulthomson merged 1 commit intoKhronosGroup:masterfrom
paulthomson merged 1 commit intoKhronosGroup:masterfrom
Conversation
5ec2ead to
c7f99a5
Compare
paulthomson
reviewed
Aug 11, 2020
Contributor
paulthomson
left a comment
There was a problem hiding this comment.
Nice find! Could we please get a more detailed PR description that answers the following questions:
What is the code trying to do?
The code is trying to assert...
What does the code actually do (which is wrong)?
Which instruction exposes this problem?
What did you change to ensure the code is now doing what we expect?
paulthomson
approved these changes
Aug 11, 2020
Contributor
paulthomson
left a comment
There was a problem hiding this comment.
Thanks! That is a great PR description / commit message. I removed the "title" from the PR description because GitHub uses the PR title as the first line of the commit message (i.e. the commit title).
Collaborator
Author
|
Thanks, @paulthomson! |
dnovillo
pushed a commit
to dnovillo/SPIRV-Tools
that referenced
this pull request
Aug 19, 2020
spvtools::fuzz::MakeIdUseDescriptorFromUse asserts if the id use type is SPV_OPERAND_TYPE_ID. The problem is that not all id types are covered by this condition. The bug was found because the first operand of an OpControlBarrier instruction has SPV_OPERAND_TYPE_SCOPE_ID as type. Therefore, to cover all cases the spvIsInIdType function is used. Fixes KhronosGroup#3665.
dneto0
pushed a commit
to dneto0/SPIRV-Tools
that referenced
this pull request
Sep 14, 2024
Roll third_party/glslang/ b60e067..f257e0e (11 commits) KhronosGroup/glslang@b60e067...f257e0e $ git log b60e067..f257e0e --date=short --no-merges --format='%ad %ae %s' 2020-08-14 john Build: fix a build warning 2020-08-14 rafael.fariasmarinheiro Use --test-root to pass files to Bazel tests. 2020-08-14 john Fix KhronosGroup#2366, fix KhronosGroup#2358, correctly separate out numerical feature checking 2020-08-14 john Non-functional (almost): Refactor when 'extensionRequested' is called. 2020-08-14 john Non-functional: Remove reinventing the scalar type, note code issues 2020-08-11 john Non-functional: spellings of "destinaton" and "addPairConversion" 2020-08-12 alanbaker Update test expectations 2020-08-12 alanbaker Update SPIRV-Tools and SPIRV-Headers known good 2020-08-10 ezdiy GLSLANG_EXPORT for C APIs. 2020-08-07 john Non-functional: correctly do GL_EXT_buffer_reference2 semantic checking 2020-08-06 john Non-functional: consistently use 'const TSourceLoc&' to pass location. Created with: roll-dep third_party/glslang Roll third_party/googletest/ 3af06fe16..adeef1929 (4 commits) google/googletest@3af06fe...adeef19 $ git log 3af06fe16..adeef1929 --date=short --no-merges --format='%ad %ae %s' 2020-08-12 krzysio Googletest export 2020-08-11 absl-team Googletest export 2020-08-11 dmauro Googletest export 2020-08-10 absl-team Googletest export Created with: roll-dep third_party/googletest Roll third_party/spirv-cross/ 82d1c43e4..4c7944bb4 (1 commit) KhronosGroup/SPIRV-Cross@82d1c43...4c7944b $ git log 82d1c43e4..4c7944bb4 --date=short --no-merges --format='%ad %ae %s' 2020-08-13 lehoangq Fix KhronosGroup#1445: MSL: Enclose args when convert distance(a,b) to abs(a-b) Created with: roll-dep third_party/spirv-cross Roll third_party/spirv-tools/ 2990a21..b8de4f5 (19 commits) KhronosGroup/SPIRV-Tools@2990a21...b8de4f5 $ git log 2990a21..b8de4f5 --date=short --no-merges --format='%ad %ae %s' 2020-08-16 jaebaek Allow DebugTypeTemplate for Type operand (KhronosGroup#3702) 2020-08-14 antonikarp spirv-fuzz: Improve code coverage of tests (KhronosGroup#3686) 2020-08-14 stefanomil spirv-fuzz: Fuzzer pass to randomly apply loop preheaders (KhronosGroup#3668) 2020-08-14 vasniktel spirv-fuzz: Support identical predecessors in TransformationPropagateInstructionUp (KhronosGroup#3689) 2020-08-13 alanbaker Improve non-semantic instruction handling in the optimizer (KhronosGroup#3693) 2020-08-13 vasniktel Fix the bug (KhronosGroup#3680) 2020-08-12 andreperezmaselco.developer spirv-fuzz: Check integer and float width capabilities (KhronosGroup#3670) 2020-08-12 andreperezmaselco.developer spirv-fuzz: consider additional access chain instructions (KhronosGroup#3672) 2020-08-12 andreperezmaselco.developer spirv-fuzz: Ignore specialization constants (KhronosGroup#3664) 2020-08-12 vasniktel Fix the bug (KhronosGroup#3683) 2020-08-12 vasniktel spirv-fuzz: Fix width in FuzzerPassAddEquationInstructions (KhronosGroup#3685) 2020-08-12 jaebaek Preserve debug info in dead-insert-elim pass (KhronosGroup#3652) 2020-08-12 jaebaek Validate more OpenCL.DebugInfo.100 instructions (KhronosGroup#3684) 2020-08-11 alanbaker Only validation locations for appropriate execution models (KhronosGroup#3656) 2020-08-11 andreperezmaselco.developer spirv-fuzz: Fix in operand type assertion (KhronosGroup#3666) 2020-08-11 andreperezmaselco.developer spirv-opt: Add spvOpcodeIsAccessChain (KhronosGroup#3682) 2020-08-11 vasniktel spirv-fuzz: FuzzerPassPropagateInstructionsUp (KhronosGroup#3478) 2020-08-10 stevenperron Handle no index access chain in local access chain convert (KhronosGroup#3678) 2020-08-10 rharrison Roll 2 dependencies (KhronosGroup#3677) Created with: roll-dep third_party/spirv-tools
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
spvtools::fuzz::MakeIdUseDescriptorFromUseasserts if the id use type isSPV_OPERAND_TYPE_ID. The problem is that not all id types are covered bythis condition. The bug was found because the first operand of an
OpControlBarrierinstruction has
SPV_OPERAND_TYPE_SCOPE_IDas type. Therefore, to coverall cases the
spvIsInIdTypefunction is used.Fixes #3665.