O projeto llama.cpp lançou a versão b10955, que inclui uma correção crítica para corrupção de heap no backend ggml-cpu. A atualização desativa o cabeçalho pré-compilado (PCH) e remove uma definição ambígua de CACHE_LINE_SIZE para resolver problemas de segurança de memória.
- Desativar o PCH do ggml-cpu restaura a ordem natural de inclusão, garantindo que ops.h seja processado antes dos cabeçalhos de interferência de hardware.
- Remover o branch std::hardware_destructive_interference_size torna o CACHE_LINE_SIZE determinístico e independente da ordem de inclusão.
- A correção resolve uma incompatibilidade em que os kernels C++ usavam linhas de cache de 256 bytes enquanto o código C usava fallbacks de 64 bytes, o que anteriormente dimensionava incorretamente os buffers de trabalho rope.
- Essa correção evita crashes de heap-buffer-overflow no ggml_compute_forward_rope_flt causados pela discrepância no tamanho do buffer.
O lançamento fornece binários para plataformas macOS (Apple Silicon e Intel), Linux (x64, arm64, s390x), Windows (CPU, CUDA, Vulkan, ROCm, OpenVINO, SYCL), Android e openEuler.