Il livelock è una modalità di guasto in cui un sistema non è bloccato, ma non compie comunque alcun progresso utile. Thread, processi o routine del kernel continuano a riattivarsi, ritentare, cedere il controllo o ricontrollare lo stato, ma non raggiungono mai il completamento. A differenza di un deadlock, il sistema può apparire occupato e reattivo in superficie mentre il lavoro utile si arresta sotto la superficie.
Nel campo della cybersecurity, il livelock è importante perché può diventare una condizione di denial-of-service. Gli aggressori possono attivare casi limite, contese o ritentativi ripetuti, così che un servizio consumi CPU senza servire richieste. Nel codice del kernel, una gestione errata dei lock, storm di interrupt o cicli di ritentativo eccessivamente aggressivi possono produrre questo comportamento. I difensori cercano segnali come elevato uso della CPU, messaggi di log ripetuti, timeout e avvisi del watchdog. Le correzioni in genere prevedono un migliore ordine di acquisizione dei lock, backoff, timeout e limiti ai cicli di ritentativo, in modo che il sistema possa riprendersi invece di girare all'infinito.


