43.5. Cómo funciona el kernel live patching
La solución de parcheo del kernel kpatch
utiliza el subsistema del kernel livepatch
para redirigir las funciones antiguas a las nuevas. Cuando se aplica un parche del kernel en vivo a un sistema, suceden las siguientes cosas:
-
El módulo de parche del kernel se copia en el directorio
/var/lib/kpatch/
y se registra para su reaplicación en el kernel mediantesystemd
en el siguiente arranque. -
El módulo kpatch se carga en el núcleo en ejecución y las nuevas funciones se registran en el mecanismo
ftrace
con un puntero a la ubicación en memoria del nuevo código. -
Cuando el núcleo accede a la función parcheada, es redirigido por el mecanismo
ftrace
que pasa por alto las funciones originales y redirige el núcleo a la versión parcheada de la función.
Figura 43.1. Cómo funciona el kernel live patching