저는 낮은 수준의 편의 기능을 구현하기 위해 여러 드라이버를 수정하고 있는데, 그렇게 하면 트리 외부 모듈로 커널이 오염됩니다. 버그나 다른 문제를 보고하기 전에 오염되지 않은 커널로 재현할 수 있어야 하지만 대부분의 경우 이것이 문제가 되지 않는다는 것이 분명합니다. 그러나 허용되는 답변과 같은 일부 장소도 보았습니다.오염된 Linux 커널이란 무엇입니까?(첫 번째 단락), 오염된 커널을 사용하면 디버깅 기능이 저하/감소될 수 있습니다. 이 주장을 뒷받침하는 공식 문서를 찾을 수 없으며 내가 본 다른 정보도 없습니다.
이것은 단지 인터넷 소문입니까, 아니면 시스템의 문제를 추적하려고 할 때 알아야 할 사항입니까?
답변1
오염된 커널은 동작에 매우 미묘한 차이만 있고 자신을 보호하기 위한 용도로만 사용되며 단순히 오염되었다는 이유로 기능을 비활성화하지 않습니다.
- 보류 중인 논스톱 작업 확인커널이
TAINT_DIE
(즉이런 일이BUG()
발생했거나); - 이벤트 추적그리고낱낱이 세다어떤 이유로든 모듈이 오염되면 오염으로 인해 잘못된 추적 데이터가 발생할 수 있는 오염된 커널 모듈에 대해 설정되지 않습니다.다른해당 상태는 트리 외부, 단계적 또는 서명되지 않은 상태에 비해 유효하지 않을 수 있으며 이를 추적하면 더 많은 문제가 발생할 수 있습니다(예: ABI 불일치에도 불구하고 모듈이 강제로 삽입됨).