From 91bb0dc2f471f7fb90d7d5bc08c87805dceac326 Mon Sep 17 00:00:00 2001 From: eunhhu Date: Sun, 4 Oct 2026 11:11:00 +0100 Subject: Say that reading the code found stage 3's two races, and how a host changes apps The use after free in local_done and the owner's lock made after another app's outlet used it were found reading the code, not by the check, which passed with both before it was made to change senders (115, 017). The usage now says changed lines change in place unless their store moved; and 115 names the path no check takes: a module refused while changing in place. --- docs/design/017-apps-on-one-host.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'docs/design') diff --git a/docs/design/017-apps-on-one-host.md b/docs/design/017-apps-on-one-host.md index 3f2ce2b..8498477 100644 --- a/docs/design/017-apps-on-one-host.md +++ b/docs/design/017-apps-on-one-host.md @@ -299,8 +299,8 @@ HTTP로 앱을 더하는 길을 두지 않는 까닭은 인증이다. 그 길은 때마다 19 KB가 남는다. 파일을 읽는 스레드가 하나 늘었다(앱 100개에 스레드 넷). 커밋: Pure `14c75d0`(해석한 모듈과 앱의 자리), `1d892e2`(링크 스트림의 입력을 다시 찾기), `12878cf`(SIGHUP과 멈추고 다시 열기), `7daf406`(그 자리에서 바꾸기), `f5e9db5`와 그 뒤(측정). -- **검사가 찾은 것.** 보내는 앱이 멈추는 동안 받는 앱의 차례가 놓인 출구를 읽던 자리, 시작하기 전의 앱의 락을 다른 앱의 출구가 - 쓰던 것. 둘 다 바꾸기 한가운데의 보내는 앱과 받는 앱을 함께 바꿔 보는 검사로 드러났다. +- **코드를 읽어 찾은 것.** 보내는 앱이 멈추는 동안 받는 앱의 차례가 놓인 출구를 읽던 자리, 시작하기 전의 앱의 락을 다른 앱의 + 출구가 쓰던 것. 그때의 검사는 둘이 있는 채로 지났다(보내는 앱을 바꾸지 않았다). 고친 뒤 검사가 그 길을 지나게 넓혔다. ## 3단계의 착수 기준 -- cgit v1.2.3