오늘 저는 2023년 12월에 ext4 데이터 손상(버그 1057843)을 일으키는 결함이 있는 Debian 커널 버전이 있다는 것을 알게 되었습니다.
/var/log/aptitude 및 /var/log/apt 로그를 검색하여 /usr/bin/unattended-upgrade가 하루 종일 문제가 되는 커널 버전을 설치했다는 사실을 발견했습니다.
연대기:
- 2023년 9월 9일 17:53 시스템 수동으로 다시 시작
- 2023년 10월 7일 20:02에 "aptitude"를 통한 수동 업그레이드: linux-image-amd64:amd64 6.1.52-1 -> 6.1.55-1
- 2023년 12월 10일 06:41 무인 "apt" 업그레이드: linux-image-amd64:amd64 6.1.55-1 => 6.1.64-1(잘못된 버전 설치)
- 2023년 12월 11일 07:00 무인 "apt" 업그레이드: linux-image-amd64:amd64 6.1.64-1 => 6.1.66-1(수정 버전 설치)
- 2023년 12월 16일 12:23에 "aptitude"를 통한 수동 업그레이드: linux-image-amd64:amd64 6.1.66-1 -> 6.1.67-1
- 2023년 12월 18일 18:39 시스템 수동 재시작
12월 10일 문제가 있는 커널 버전을 설치했음에도 불구하고 시스템이 재부팅되지 않았습니다. 문제의 커널이 부팅되지 않는다고 해서 데이터 손상 오류의 영향을 받지 않을 것이라고 가정할 수 있습니까? ext4 파일 시스템 코드가 커널에 완전히 내장되어 있는지 또는 ext4 모듈의 변경 사항이 실행 중인 시스템에 적용될 수 있는지 100% 확신할 수 없습니다.
답변1
내가 아는 한 당신은 이 버그의 영향을 받지 않습니다.
ext4
현재 실행 중인 버그 없는 커널에 모듈 변경 사항을 적용하는 유일한 방법은 먼저 다음을 수행하는 것입니다.모든 ext4 파일 시스템 마운트 해제, 이전 ext4
모듈을 언로드하고 문제가 되는 커널 버전에서 강제 로드한 다음(특정 커널 버전에 대한 이전 모듈을 로드하도록 커널의 기본 설정을 무시) 모든 파일 시스템을 다시 마운트합니다. 루트 파일 시스템이 이면 ext4
더 복잡합니다.
내가 아는 어떤 배포판도 이런 일을 한 적이 없습니다.재부팅과 마찬가지로 애플리케이션에 유사한 중단이 발생하므로 이점이 없습니다.
ext4
파일 시스템을 마운트할 때 현재 버전의 ext4.ko
커널 모듈이 사용 중이므로 제거할 수 없습니다.
데비안 12 커널에는 이 CONFIG_LIVEPATCH
옵션이 포함되어 있는 것으로 보입니다.실행 중인 커널/모듈 코드 패치, 그러나 특정 커널 버전을 패치하려면 특정 livepatch 모듈이 필요합니다. 내가 아는 한, 데비안은 실제로 이 기능을 사용하지 않습니다.
livepatch-<something>.ko
어쨌든 라이브 패치를 적용한 경우 해당 패치가 추가 커널 모듈(아마도 이름이 지정됨 ) 로 나열되고 /sys/kernel/livepatch/
.