22.5. 커널 라이브 패치 작동 방법
kpatch
커널 패치 솔루션은 livepatch
커널 하위 시스템을 사용하여 이전 기능을 새 함수로 리디렉션합니다. 시스템에 라이브 커널 패치를 적용하면 다음과 같은 문제가 발생합니다.
-
커널 패치 모듈은
/var/lib/kpatch/
디렉토리에 복사되고 다음 부팅 시systemd
를 통해 커널에 재애플리케이션을 등록합니다. -
kpatch 모듈은 실행 중인 커널에 로드되고 새 함수는 새 코드 메모리에 있는 위치에 대한 포인터를 사용하여
ftrace
메커니즘에 등록됩니다. -
커널이 패치된 기능에 액세스하면 원래 기능을 무시하고 커널을 패치된 함수 버전으로 리디렉션하는
ftrace
메커니즘에 의해 리디렉션됩니다.
그림 22.1. 커널 라이브 패치 작동 방법