잠금을 잡고 있다고 객체를 안전하게 공개한 것은 아닙니다
SysV IPC에서 ipc_addid()로 식별자를 등록하면 다른 경로가 그 객체를 찾을 수 있습니다. 생성 측 잠금을 잡고 있다고 해서 잠금 없는 RCU 독자가 미완성 필드를 볼 수 없다고 결론 내릴 수는 없습니다. 독자가 참조할 필드는 객체를 공개하기 전에 초기화해야 합니다.
객체 할당: 아직 다른 경로에 노출하지 않습니다.
필드 초기화: 독자가 사용할 상태와 소유자 정보를 준비합니다.
식별자 등록: 이제 다른 경로가 객체를 찾을 수 있습니다.
301일은 커밋 사이의 간격입니다
2014-12-03의 e8577d1f0329는 semaphore 객체 초기화를 등록보다 앞에 둡니다. 2015-09-30의 b9a532277938은 message queue와 shared memory에서도 초기화 순서를 고치고 공통 등록 경로의 uid/gid 설정을 공개 전에 수행하도록 옮깁니다.
두 반영일 사이의 301일을 발견에 걸린 시간이나 자동 분석의 실행 시간이라고 쓰면 안 됩니다. author date, committer date, 보고 메일 시간은 서로 다른 사건입니다. 여기서는 실제 diff와 committer date를 비교합니다.
분기 기록은 from과 to를 함께 봅니다
perf의 분기 기록에는 출발 주소 from과 도착 주소 to가 있습니다. 사용자 공간 기록을 요청한 경우 도착지만 걸러서는 커널 출발 주소를 포함한 기록이 남을 수 있습니다. 확인한 AMD BRS와 LBR 패치는 요청된 privilege 범위를 고려해 출발 주소도 검사합니다. 커널 기록을 명시적으로 요청한 경우까지 무조건 삭제한다는 뜻은 아닙니다.
- 사용자 전용 요청
PERF_SAMPLE_BRANCH_USER로 사용자 공간 분기만 요청합니다.
- 누락된 검사
from은 커널, to는 사용자 공간인 반환 분기에서 to만 검사하면 커널 출발 주소가 남습니다.
- 수정된 검사
AMD BRS·LBR 수정은 요청한 권한 범위에 따라 from도 확인하여 이 사용자 전용 사례를 제외합니다.
수정 이력과 봇의 성과를 분리합니다
BRS 수정에는 Sashiko의 보고가 명시되어 있고 사람의 작성·검토·반영 이력이 함께 남아 있습니다. LBR 수정에는 Ian Rogers가 신고자로 기록되어 있습니다. Intel 쪽 e2b0575900ff도 별도로 존재하며 2026-06-30에 이미 반영되었고, Ian Rogers의 보고와 Dapeng Mi의 작성 이력이 남아 있습니다. 이 선행 수정을 뒤의 봇 회신이 처음 만든 성과로 바꾸어 적지 않습니다.
이 글은 다섯 커밋의 메타데이터와 diff를 직접 대조한 기록입니다. 메일 간격을 봇의 실제 연산 시간으로 측정하지 않았으며, affected hardware에서 재현하거나 전체 stable backport 범위를 확인한 결과도 아닙니다.