opencl: fix potential crash in aos reconstruct#25383
Merged
Merged
Conversation
max-krasnyansky
approved these changes
Jul 7, 2026
Contributor
Author
|
@ggml-org/maintainers can I get another approval please? |
yomaytk
approved these changes
Jul 7, 2026
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.
Overview
ggml_cl_mul_mat_dequant_quant_to_f16reconstruct the original quantization representation (AOS) from flattened representation (SOA). The reconstructed buffer (aos) is release right after it is determined that the caller didn't request it. Becauseaosis used in a kernel call, it will only be release after the kernel call.However,
aosmay be used in another kernel call viasrc_bufat the end of the function. At that point,aoshas been released if it was created. Adreno driver is permissive and this doesn't cause any issue. With less permissive driver, e.g., Intel, this causes incorrect results and crash.This PR fixes this issue.
Additional information
Requirements