'Spectre' 보안 취약점에 대응하여 위험 완화 솔루션으로 'Retpoline'이 출시되었습니다. 그런데 다음과 같은 기사를 읽었습니다.
retpoline 없이 커널을 빌드하는 경우
CONFIG_RETPOLINE
리트폴린을 사용하여 모듈을 빌드한 다음 로드할 것으로 기대할 수 없습니다. 썽크 기호가 내보내지지 않기 때문입니다.리트폴린을 사용하여 커널을 빌드하면할 수 있는리트폴린으로 구축되지 않은 모듈을 성공적으로 로드합니다. (원천)
커널에 "Retpoline"이 활성화되어 있는지 확인하는 간단하고 일반/범용/통합된 방법이 있습니까? 내 설치 프로그램이 설치할 커널 모듈의 올바른 버전을 사용할 수 있도록 이 작업을 수행하고 싶습니다.
답변1
메인라인 커널이나 대부분의 주요 배포판의 커널을 사용하는 경우 전체 리트폴린 지원을 확인하는 가장 좋은 방법은 (즉커널은 CONFIG_RETPOLINE
다음과 같은 목적으로 리트폴린을 지원하는 컴파일러로 구성 및 구축되었습니다 /sys/devices/system/cpu/vulnerabilities/spectre_v2
.
$ cat /sys/devices/system/cpu/vulnerabilities/spectre_v2
Mitigation: Full generic retpoline, IBPB, IBRS_FW
systree 파일 없이 커널에서 리트폴린을 감지하기 위한 보다 포괄적인 테스트를 원하는 경우 spectre_v2
방법을 확인하세요.spectre-meltdown-checker
사물에 대해 이야기하십시오.
답변2
이 특별한 경우에는 리트폴린 지원에도 새로운 컴파일러 버전이 필요하기 때문에 Stephen Kitt의 답변이 더 포괄적입니다.
그러나 일반적으로 대부분의 배포판은 다음 위치 중 하나에 커널 구성 파일을 제공합니다.
/boot/config-4.xx.xx-...
/proc/config.gz
그렇다면 간단하게 할 수 있습니다zgrep CONFIG_RETPOLINE /boot/config* /proc/config.gz