Gli utenti dei sistemi che utilizzano il meccanismo zRAM per la compressione dello spazio di swap in memoria hanno riscontrato un problema che causa il fallimento dell'avvio dopo l'aggiornamento del kernel Linux alla versione 6.12. Il problema si manifesta in Gentoo, Void e altre distribuzioni che supportano zRAM e forniscono pacchetti con nuove versioni del kernel.
La causa del fallimento è stata una modifica introdotta nel kernel 6.12 che aggiunge la possibilità di configurare gli algoritmi di compressione durante il runtime. Di conseguenza, nella configurazione Kconfig è stata modificata la logica di selezione degli algoritmi di compressione disponibili al momento della compilazione del kernel. Questa modifica ha portato a problemi nelle distribuzioni che si sono basate sulle impostazioni predefinite e non hanno abilitato separatamente tutti gli algoritmi zRAM disponibili nella configurazione Kconfig per il kernel 6.12.
Dopo l'aggiornamento al kernel 6.12, nelle suddette distribuzioni era disponibile per la selezione solo l'algoritmo di compressione di base predefinito, e non tutti gli algoritmi supportati. Pertanto, quando si cercava di abilitare in zRAM algoritmi che non corrispondevano a quello predefinito, si verificava un errore all'avvio. Ad esempio, selezionando l'algoritmo lz4 durante l'avvio si otteneva l'errore 'zramctl: /dev/zram0: failed to set algorithm: Invalid argument', poiché tra gli algoritmi rimaneva solo il supporto per lzo, invece dei precedentemente supportati lzo, lz4, lz4hc, 842 e zstd.
Il problema può essere risolto includendo nella configurazione Kconfig ogni backend di compressione separatamente (le impostazioni CONFIG_ZRAM_BACKEND_* sono state aggiunte nel kernel 6.12): CONFIG_ZRAM_BACKEND_LZ4=y CONFIG_ZRAM_BACKEND_LZ4HC=y CONFIG_ZRAM_BACKEND_ZSTD=y CONFIG_ZRAM_BACKEND_842=y CONFIG_ZRAM_DEF_COMP_LZO=y CONFIG_ZRAM_DEF_COMP='lzo'
Fonte: opennet.ru
