Le projet llama.cpp a publié la version b10955, qui inclut un correctif critique pour une corruption de tas au sein du backend ggml-cpu. La mise à jour désactive l'en-tête précompilé (PCH) et supprime une définition ambiguë de CACHE_LINE_SIZE afin de résoudre des problèmes de sécurité mémoire.
- La désactivation du PCH ggml-cpu restaure l'ordre naturel d'inclusion, garantissant que ops.h est traité avant les en-têtes d'interférence matérielle.
- La suppression de la branche std::hardware_destructive_interference_size rend CACHE_LINE_SIZE déterministe et indépendante de l'ordre d'inclusion.
- Le correctif résout une incompatibilité où les noyaux C++ utilisaient des lignes de cache de 256 octets tandis que le code C utilisait des solutions de repli de 64 octets, ce qui sous-estimait précédemment la taille des tampons rope.
- Cette correction empêche les plantages par dépassement de tas (heap-buffer-overflow) dans ggml_compute_forward_rope_flt causés par l'écart de taille du tampon.
La publication fournit des binaires pour les plateformes macOS (Apple Silicon et Intel), Linux (x64, arm64, s390x), Windows (CPU, CUDA, Vulkan, ROCm, OpenVINO, SYCL), Android et openEuler.