Gli utenti dei sistemi che utilizzano il meccanismo zRAM per la memorizzazione compressa della partizione di swap in memoria hanno riscontrato un problema che porta a un errore di 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 offrono pacchetti con le nuove versioni del kernel.
La causa dell'errore è stata una modifica inclusa nel kernel 6.12 che aggiunge la possibilità di configurare gli algoritmi di compressione durante il funzionamento. Nel contempo, è stata cambiata la logica di selezione degli algoritmi di compressione disponibili nella fase di compilazione del kernel in Kconfig. Questa modifica ha portato a problemi nelle distribuzioni che si basavano sulle impostazioni predefinite e non avevano abilitato singolarmente tutti gli algoritmi di zRAM disponibili nella configurazione Kconfig per il kernel 6.12.
Dopo l'aggiornamento al kernel 6.12, nelle distribuzioni simili era rimasto disponibile solo l'algoritmo di compressione di base impostato come predefinito e non tutti gli algoritmi supportati. Di conseguenza, quando si tentava di abilitare in zRAM algoritmi che non corrispondevano a quello predefinito, si verificava un errore durante l'avvio. Ad esempio, scegliendo l'algoritmo lz4 all'avvio si generava l'errore «zramctl: /dev/zram0: failed to set algorithm: Invalid argument», poiché l'unico algoritmo supportato era rimasto l'lzo, invece dei precedentemente supportati lzo, lz4, lz4hc, 842 e zstd.
Il problema si risolve abilitando in Kconfig ciascun backend di compressione singolarmente (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
