Il team di coder Google ha pubblicato una serie di patch dedicate al kernel Linux che hanno l'obbiettivo di introdurre il supporto al KCFI (Control-Flow Integrity). Tale feature si occupa di fornire dei run-time check prima di ogni function call indiretta, cosi da garantire che il target della function call sia sempre una funzione valida con un valid static type. Tecnicamente questa funzionalità è presente nel kernel, solo nelle versioni per piattaforma ARM64, già dai tempi di Linux 5.13, sotto il nome di Clang CFI o LLVM Clang control-flow integrity, e può essere utile per assicurare che l'intended control flow di un software non cambi generando errori di vario genere.
Il team di Google usa l'LLVM Clang control-flow integrity da diversi anni sulle build del kernel Linux dedicate ad Android. Le nuove patch pubblicante in queste settimane vanno sostanzialmente ad implementare una versione evoluta di questa funziona chiamata appunto KCFI. A proporre il merge nel ramo di sviluppo del kernel Linux è stato il developer di Google Sami Tolvanen, che nella newsletter ufficiale del progetto descrivere in modo molto preciso i vantaggi di KCFI:
"Tali patch includono un forward-edge control-flow integrity scheme per il compiler Clang che è decisamente più adatto al kernel Linux rispetto alla precedente implementazione di CFI. KCFI non richiede la presenza di LTO (link-time optimization), inoltre non va ad alterare le function reference quando si punta alla jump table ed oltretutto non rompe la function address equality."
L'obbiettivo del team di sviluppatori Google è dunque sostituire l'attuale implementazione dell' LLVM Clang control-flow integrity con KCFI, anche perché tale versione di Clang CFI è compatibile anche con l'architettura hardware x86_64, quella normalmente usata dai comuni PC desktop, quindi si presta ad essere utilizzata in moltissimi contesti. Questa innovazione dovrebbe ottenere il merge in Linux 5.19, ovvero la futura stable release del kernel attesa per questa estate.