ggml-metal: guard buffer map slicing #18225
Open
+17
−0
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.
Guard ggml_metal_buffer_map against invalid slicing: bail out if max_tensor_size would make size_step underflow, and fail early if the mapping would require more than GGML_METAL_MAX_BUFFERS slices. This avoids potential infinite loops or buffer array overruns for very large mappings while keeping normal behavior unchanged.
Tests:
bash ./ci/run.sh ./tmp/results ./tmp/mntAI: bug identified with Codex.