๋ ๋ฌ๊ฐ์ ๊ฐ๋ฐ ๋์ Linus Torvalds๋ Linux 6.1 ์ปค๋ ์ถ์๋ฅผ ๋ฐํํ์ต๋๋ค. ๊ฐ์ฅ ์ฃผ๋ชฉํ ๋งํ ๋ณ๊ฒฝ ์ฌํญ ์ค ํ๋๋ Rust ์ธ์ด์ ๋๋ผ์ด๋ฒ ๋ฐ ๋ชจ๋ ๊ฐ๋ฐ ์ง์, ์ฌ์ฉ๋ ๋ฉ๋ชจ๋ฆฌ ํ์ด์ง๋ฅผ ๊ฒฐ์ ํ๋ ๋ฉ์ปค๋์ฆ์ ํ๋ํ, BPF ํ๋ก๊ทธ๋จ์ฉ ํน์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์, ๋ฉ๋ชจ๋ฆฌ ๋ฌธ์ ์ง๋จ ์์คํ KMSAN, KCFI(Kernelk Control)์ ๋๋ค. -ํ๋ฆ ๋ฌด๊ฒฐ์ฑ) ๋ณดํธ ๋ฉ์ปค๋์ฆ, ๋ฉ์ดํ ๊ตฌ์กฐ ํธ๋ฆฌ ๋์ .
์ ๋ฒ์ ์๋ 15115๋ช ์ ๊ฐ๋ฐ์๊ฐ ์์ ํ 2139๊ฐ์ ์์ ์ฌํญ์ด ํฌํจ๋์ด ์์ผ๋ฉฐ, ํจ์น ํฌ๊ธฐ๋ 51MB๋ก ์ปค๋ 2 ๋ฐ 6.0์ ํจ์น ํฌ๊ธฐ๋ณด๋ค ์ฝ 5.19๋ฐฐ ์์ต๋๋ค. ๋ณ๊ฒฝ ์ฌํญ์ 13165๊ฐ ํ์ผ์ ์ํฅ์ ๋ฏธ์น๊ณ , 716247์ค์ ์ฝ๋๊ฐ ์ถ๊ฐ๋์์ผ๋ฉฐ, 304560์ค์ด ์ญ์ ๋์์ต๋๋ค. 45์ ๋์ ๋ ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ฝ 6.1%๋ ์ฅ์น ๋๋ผ์ด๋ฒ์ ๊ด๋ จ์ด ์๊ณ , ์ฝ 14%๋ ํ๋์จ์ด ์ํคํ ์ฒ ๊ด๋ จ ์ฝ๋ ์ ๋ฐ์ดํธ์ ๊ด๋ จ์ด ์์ผ๋ฉฐ, 14%๋ ๋คํธ์ํฌ ์คํ๊ณผ ๊ด๋ จ์ด ์๊ณ , 3%๋ ํ์ผ ์์คํ ๊ณผ ๊ด๋ จ์ด ์์ผ๋ฉฐ, 3%๋ ๋ด๋ถ ์ปค๋ ํ์ ์์คํ ๊ณผ ๊ด๋ จ์ด ์์ต๋๋ค.
์ปค๋ 6.1์ ์ฃผ์ ํ์ :
- ๋ฉ๋ชจ๋ฆฌ ๋ฐ ์์คํ
์๋น์ค
- ๋๋ผ์ด๋ฒ ๋ฐ ์ปค๋ ๋ชจ๋ ๊ฐ๋ฐ์ ์ํ ๋ ๋ฒ์งธ ์ธ์ด๋ก Rust๋ฅผ ์ฌ์ฉํ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค. Rust๋ฅผ ์ง์ํ๋ ์ฃผ๋ ์ด์ ๋ ๋ฉ๋ชจ๋ฆฌ ์์ ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ ์ค์ฌ ์์ ํ ๊ณ ํ์ง ์ฅ์น ๋๋ผ์ด๋ฒ๋ฅผ ๋ ์ฝ๊ฒ ์์ฑํ ์ ์๋๋ก ํ๋ ๊ฒ์ ๋๋ค. Rust ์ง์์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋นํ์ฑํ๋์ด ์์ผ๋ฉฐ Rust๊ฐ ํ์ ์ปค๋ ๋น๋ ์ข ์์ฑ์ผ๋ก ํฌํจ๋์ง ์์ต๋๋ค. ์ปค๋์ ์ง๊ธ๊น์ง 40์ค์์ 13์ค์ ์ฝ๋๋ก ์ถ์๋ ์ต์ํ์ ๊ฐ๋จํ ํจ์น ๋ฒ์ ์ ์ฑํํ์ผ๋ฉฐ Rust ์ธ์ด๋ก ์์ฑ๋ ๊ฐ๋จํ ์ปค๋ ๋ชจ๋์ ๊ตฌ์ถํ๋ ๋ฐ ํ์ํ ์ต์ํ์ ๊ฒ๋ง ์ ๊ณตํฉ๋๋ค. ์์ผ๋ก๋ Rust-for-Linux ๋ธ๋์น์ ๋ค๋ฅธ ๋ณ๊ฒฝ ์ฌํญ์ ์ด์ ํ์ฌ ๊ธฐ์กด ๊ธฐ๋ฅ์ ์ ์ฐจ์ ์ผ๋ก ๋๋ฆด ๊ณํ์ ๋๋ค. ๋์์ ์ ์๋ ์ธํ๋ผ๋ฅผ ์ฌ์ฉํ์ฌ Rust ์ธ์ด๋ก NVMe ๋๋ผ์ด๋ธ, 9p ๋คํธ์ํฌ ํ๋กํ ์ฝ ๋ฐ Apple M1 GPU์ฉ ๋๋ผ์ด๋ฒ๋ฅผ ๊ฐ๋ฐํ๋ ํ๋ก์ ํธ๊ฐ ๊ฐ๋ฐ๋๊ณ ์์ต๋๋ค.
- EFI๊ฐ ํฌํจ๋ AArch64, RISC-V ๋ฐ LoongArch ์ํคํ ์ฒ ๊ธฐ๋ฐ ์์คํ ์ ๊ฒฝ์ฐ ์์ถ๋ ์ปค๋ ์ด๋ฏธ์ง๋ฅผ ์ง์ ๋ก๋ํ๋ ๊ธฐ๋ฅ์ด ๊ตฌํ๋์์ต๋๋ค. EFI zboot์์ ์ง์ ํธ์ถ๋๋ ์ปค๋ ์ด๋ฏธ์ง ๋ก๋, ์คํ ๋ฐ ์ธ๋ก๋๋ฅผ ์ํ ํธ๋ค๋ฌ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. EFI ํ๋กํ ์ฝ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ํ๋กํ ์ฝ์ ์ค์นํ๊ณ ์ญ์ ํ๊ธฐ ์ํ ์ฒ๋ฆฌ๊ธฐ๋ ์ถ๊ฐ๋์์ต๋๋ค. ์ด์ ์๋ ์์ถ ํ๊ธฐ๊ฐ ๋ณ๋์ ๋ถํธ๋ก๋์ ์ํด ์ํ๋์์ง๋ง ์ด์ ๋ ์ปค๋ ์์ฒด์ ํธ๋ค๋ฌ์ ์ํด ์ํ๋ ์ ์์ต๋๋ค. ์ปค๋ ์ด๋ฏธ์ง๋ EFI ์์ฉ ํ๋ก๊ทธ๋จ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
- ์ด ๊ตฌ์ฑ์๋ ๋ค์ํ ์ฑ๋ฅ ํน์ฑ์ ๊ฐ์ง ๋ฉ๋ชจ๋ฆฌ ๋ฑ ํฌ๋ฅผ ๋ถ๋ฆฌํ ์ ์๋ ๋ค์ค ๋ ๋ฒจ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๋ชจ๋ธ ๊ตฌํ์ด ํฌํจ๋ ํจ์น์ ์ผ๋ถ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ํ์ด์ง๋ ๊ฐ์ฅ ๋น ๋ฅธ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋๊ณ ๊ฐ์ฅ ๋๋ฌผ๊ฒ ์ฌ์ฉ๋๋ ํ์ด์ง๋ ์๋์ ์ผ๋ก ๋๋ฆฐ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋ ์ ์์ต๋๋ค. ์ปค๋ 6.1์ ๋ง์ด ์ฌ์ฉ๋๋ ํ์ด์ง๊ฐ ๋น ๋ฅธ ๋ฉ๋ชจ๋ฆฌ๋ก ์น๊ฒฉ๋ ์ ์๋๋ก ๋๋ฆฐ ๋ฉ๋ชจ๋ฆฌ์ ์๋ ์์น๋ฅผ ๊ฒฐ์ ํ๋ ๋ฉ์ปค๋์ฆ์ ๋์ ํ๊ณ ๋ฉ๋ชจ๋ฆฌ ๊ณ์ธต ๋ฐ ์๋์ ์ฑ๋ฅ์ ๋ํ ์ผ๋ฐ์ ์ธ ๊ฐ๋ ๋ ์๊ฐํฉ๋๋ค.
- ์ฌ๊ธฐ์๋ ์ค์ ๋ก ์ฌ์ฉ ์ค์ธ ๋ฉ๋ชจ๋ฆฌ ํ์ด์ง์ ํธ์ํ ์ ์๋ ๋ฉ๋ชจ๋ฆฌ ํ์ด์ง๋ฅผ ๋ ์ ๊ฒฐ์ ํ๋ ๋ค๋จ๊ณ ๊ตฌ์กฐ๋ก ๋ ๊ฐ์ ๋๊ธฐ์ด์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๊ธฐ์กด LRU(Least Recent Used) ๊ตฌํ์ ๋์ฒดํ๋ MGLRU(Multi-Generational LRU) ๋ฉ์ปค๋์ฆ์ด ํฌํจ๋์ด ์์ต๋๋ค. ์ค์ ํํฐ์ .
- Oracle ์์ง๋์ด๊ฐ ์ ์ํ "๋ฉ์ดํ ํธ๋ฆฌ" ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. ์ด๋ "๋ ๋-๋ธ๋ ํธ๋ฆฌ" ๊ตฌ์กฐ๋ฅผ ๋์ฑ ํจ๊ณผ์ ์ผ๋ก ๋์ฒดํ ์ ์๋ ๊ตฌ์กฐ์ ๋๋ค. ๋ฉ์ดํ ํธ๋ฆฌ๋ ๋ฒ์ ์ธ๋ฑ์ฑ์ ์ง์ํ๊ณ ์ต์ ํ๋ก์ธ์์ ์บ์๋ฅผ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๋๋ก ์ค๊ณ๋ B-ํธ๋ฆฌ์ ๋ณํ์ ๋๋ค. ์ผ๋ถ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ํ์ ์์คํ ์ ์ด๋ฏธ ๋จํ๋๋ฌด๋ก ์ด์ ๋์ด ์ฑ๋ฅ์ ๊ธ์ ์ ์ธ ์ํฅ์ ๋ฏธ์ณค์ต๋๋ค. ๋ฏธ๋์๋ ๋จํ๋๋ฌด๋ฅผ ์ฌ์ฉํ์ฌ ๋ฒ์ ์ ๊ธ์ ๊ตฌํํ ์ ์์ต๋๋ค.
- crash_kexec() ํธ์ถ์ ํตํด ๊ธด๊ธ ์ข ๋ฃ๋ฅผ ์์ํ๋๋ก ํน๋ณํ ์ค๊ณ๋ "ํ๊ดด์ ์ธ" BPF ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ ๊ธฐ๋ฅ์ด BPF ํ์ ์์คํ ์ ์ถ๊ฐ๋์์ต๋๋ค. ์ด๋ฌํ BPF ํ๋ก๊ทธ๋จ์ ํน์ ์์ ์ ํฌ๋์ ๋คํ ์์ฑ์ ์์ํ๊ธฐ ์ํ ๋๋ฒ๊น ๋ชฉ์ ์ผ๋ก ํ์ํ ์ ์์ต๋๋ค. BPF ํ๋ก๊ทธ๋จ์ ๋ก๋ํ ๋ ํ๊ดด์ ์ธ ์์ ์ ์ก์ธ์คํ๋ ค๋ฉด BPF_F_DESTRUCTIVE ํ๋๊ทธ๋ฅผ ์ง์ ํ๊ณ sysctl kernel.destructive_bpf_enabled๋ฅผ ํ์ฑํํ๊ณ CAP_SYS_BOOT ๊ถํ์ด ์์ด์ผ ํฉ๋๋ค.
- BPF ํ๋ก๊ทธ๋จ์ ๊ฒฝ์ฐ cgroup ์์๋ฅผ ์ด๊ฑฐํ๋ ๊ฒ์ ๋ฌผ๋ก ํน์ ์ค๋ ๋๋ ์์ ์ ๋ฆฌ์์ค(ํ์ผ, vma, ํ๋ก์ธ์ค ๋ฑ)๋ฅผ ์ด๊ฑฐํ๋ ๊ฒ๋ ๊ฐ๋ฅํฉ๋๋ค. ์ฌ์ฉ์ ๋ง ๋ฒํผ๋ฅผ ์์ฑํ๊ธฐ ์ํด ์๋ก์ด ๋งต ์ ํ์ด ๊ตฌํ๋์์ต๋๋ค.
- ํ์ค kmalloc()๋ณด๋ค BPF ์ปจํ ์คํธ์์ ๋ ์์ ํ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ ์ ๊ณตํ๋ BPF ํ๋ก๊ทธ๋จ(๋ฉ๋ชจ๋ฆฌ ํ ๋น์)์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ ์ํ ํน์ ํธ์ถ์ ์ถ๊ฐํ์ต๋๋ค.
- ๋ณ๊ฒฝ ์ฌํญ์ ์ฒซ ๋ฒ์งธ ๋ถ๋ถ์ด ํตํฉ๋์ด BPF ํ๋ก๊ทธ๋จ ํํ๋ก ๊ตฌํ๋ HID(Human Interface Device) ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ ๋ ฅ ์ฅ์น์ฉ ๋๋ผ์ด๋ฒ๋ฅผ ์์ฑํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
- ์ปค๋์ ๋ฆด๋ฆฌ์ค 5.1์์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ผ๋ฉฐ ๋ฒ์ 5.18 ๋ฐ 5.19 ์ดํ ์ฃผ์ ์ํคํ ์ฒ์์ ๋นํ์ฑํ๋ a.out ์คํ ํ์ผ ํ์์ ์ง์ํ๊ธฐ ์ํด ์ฝ๋๋ฅผ ์์ ํ ์ ๊ฑฐํ์ต๋๋ค. a.out ํ์์ ์ค๋ซ๋์ Linux ์์คํ ์์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ผ๋ฉฐ ๊ธฐ๋ณธ Linux ๊ตฌ์ฑ์ ์ต์ ๋๊ตฌ์์๋ a.out ํ์ผ ์์ฑ์ด ์ง์๋์ง ์์ต๋๋ค. a.out ํ์ผ์ฉ ๋ก๋๋ ์ ์ ์ผ๋ก ์ฌ์ฉ์ ๊ณต๊ฐ์์ ๊ตฌํ๋ ์ ์์ต๋๋ค.
- Loongson 3 5000 ํ๋ก์ธ์์ ์ฌ์ฉ๋๋ LoongArch ๋ช ๋ น์ด ์ธํธ ์ํคํ ์ฒ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๊ณ MIPS ๋ฐ RISC-V์ ์ ์ฌํ ์๋ก์ด RISC ISA๋ฅผ ๊ตฌํํ๋ ์์คํ ์ ๊ฒฝ์ฐ ์ฑ๋ฅ ์ธก์ ์ด๋ฒคํธ(perf ์ด๋ฒคํธ), kexec, kdump ๋ฐ BPF JIT ์ปดํ์ผ์ ๋ํ ์ง์์ด ๊ตฌํ๋ฉ๋๋ค. .
- io_uring ๋น๋๊ธฐ I/O ์ธํฐํ์ด์ค๋ ์ ํ๋ฆฌ์ผ์ด์ ์์ฒญ์ด ์์ ๋๊น์ง ๋ง ๋ฒํผ ๊ด๋ จ ์์ ์ ์ผ์์ ์ผ๋ก ์ฐ๊ธฐํ ์ ์๋ ์๋ก์ด ๋ชจ๋์ธ IORING_SETUP_DEFER_TASKRUN์ ์ ๊ณตํ๋ฉฐ, ์ด๋ฅผ ํตํด ์ผ๊ด ์์ ์ ์ํํ๊ณ ์ ์ ์ผ๋ก ์ธํ ๋๊ธฐ ์๊ฐ ๋ฌธ์ ๋ฅผ ๋ฐฉ์งํ ์ ์์ต๋๋ค. ์๋ชป๋ ์๊ฐ.
- ์ฌ์ฉ์ ๊ณต๊ฐ์ ํ๋ก์ธ์ค์๋ ์ผ๋ฐ ๋ฉ๋ชจ๋ฆฌ ํ์ด์ง ๋ฒ์๋ฅผ ๋๊ท๋ชจ ๋ฉ๋ชจ๋ฆฌ ํ์ด์ง ์ธํธ(Transparent Huge-Pages)๋ก ๋ณํํ๋ ๊ธฐ๋ฅ์ด ์ ๊ณต๋ฉ๋๋ค.
- FS์ ์ก์ธ์ค ๊ถํ์ ์ฌ์ฉํ์ฌ userfaultfd() ์์คํ ํธ์ถ์ ๊ธฐ๋ฅ์ ์ก์ธ์คํ ์ ์๋๋ก ํ๋ /dev/userfaultfd ์ฅ์น์ ๊ตฌํ์ด ์ถ๊ฐ๋์์ต๋๋ค. userfaultfd ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์ ๊ณต๊ฐ์์ ํ ๋น๋์ง ์์ ๋ฉ๋ชจ๋ฆฌ ํ์ด์ง(ํ์ด์ง ํดํธ)์ ์ก์ธ์คํ๊ธฐ ์ํ ํธ๋ค๋ฌ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
- GNU Make ์ ํธ๋ฆฌํฐ ๋ฒ์ ์ ๋ํ ์๊ตฌ ์ฌํญ์ด ์ฆ๊ฐํ์ต๋๋ค. ์ด์ ์ปค๋์ ๋น๋ํ๋ ค๋ฉด ๋ฒ์ 3.82 ์ด์์ด ํ์ํฉ๋๋ค.
- ๋์คํฌ ํ์ ์์คํ
, I/O ๋ฐ ํ์ผ ์์คํ
- Btrfs ํ์ผ ์์คํ ์ ์ฑ๋ฅ์ด ๋ํญ ์ต์ ํ๋์์ผ๋ฉฐ, ๋ฌด์๋ณด๋ค๋ FIEMAP ioctl ํธ์ถ์ ์ฑ๋ฅ์ด ๋ช ๋ฐฐ๋ ํฅ์๋์์ต๋๋ค. io_uring์ ์ฌ์ฉํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ๋น๋๊ธฐ ๋ฒํผ ์ฐ๊ธฐ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. "๋ณด๋ด๊ธฐ" ์์ ์ fs-verity๋ก ๋ณดํธ๋ ํ์ผ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ext4 ํ์ผ ์์คํ ์๋ ์ ๋ ์ ์ง ๊ด๋ฆฌ ๋ฐ ์ฝ๊ธฐ ์ ์ฉ ์์ ๊ณผ ๊ด๋ จ๋ ์ฑ๋ฅ ์ต์ ํ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
- ์ฝ๊ธฐ ์ ์ฉ ๋ชจ๋๋ก ์ก์ธ์คํ ์ ์๋ ํํฐ์ ์์ ์ฌ์ฉํ๋๋ก ์ค๊ณ๋ EROFS(Enhanced Read-Only File System) ํ์ผ ์์คํ ์ ๋ค๋ฅธ ํ์ผ ์์คํ ์ ์ค๋ณต๋ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํฉ๋๋ค.
- ํ์ผ์ ์ง์ I/O๋ฅผ ์ ์ฉํ ์ ์๋์ง ์ฌ๋ถ์ ๋ํ ์ ๋ณด๋ฅผ ํ์ํ๊ธฐ ์ํด statx() ์์คํ ํธ์ถ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- O_TMPFILE ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ ์์ ํ์ผ ์์ฑ ์ง์์ด FUSE(์ฌ์ฉ์ ๊ณต๊ฐ์ ํ์ผ ์์คํ ) ํ์ ์์คํ ์ ์ถ๊ฐ๋์์ต๋๋ค.
- ๊ฐ์ํ ๋ฐ ๋ณด์
- CFI(์ ์ด ํ๋ฆ ๋ฌด๊ฒฐ์ฑ) ๋ณดํธ ๋ฉ์ปค๋์ฆ์ ๊ตฌํ์ด ๋์ฒด๋์์ผ๋ฉฐ, ์ ์ฌ์ ์ผ๋ก ์ ์์ ์ธ ์คํ ์์(์ ์ด ํ๋ฆ)๋ฅผ ์๋ฐํ ์ ์๋ ์ ์๋์ง ์์ ๋์์ ์ผ๋ถ ํํ๋ฅผ ๊ฐ์งํ๊ธฐ ์ํด ํจ์๋ฅผ ๊ฐ์ ์ ์ผ๋ก ํธ์ถํ๊ธฐ ์ ์ ๊ฒ์ฌ๋ฅผ ์ถ๊ฐํ์ต๋๋ค. ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋ ํจ์์ ๋ํ ํฌ์ธํฐ๋ฅผ ๋ณ๊ฒฝํ๋ ๊ณต๊ฒฉ์ ์ฌ์ฉํ ๊ฒฐ๊ณผ์ ๋๋ค. LLVM ํ๋ก์ ํธ์ CFI ํ์ค ๊ตฌํ์ Clang ์ฌ์ฉ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ์ต์ ์ผ๋ก ๋์ฒด๋์์ง๋ง ํนํ ํ์ ์์ค ํ์ ์์คํ ๋ฐ ์ด์ ์ฒด์ ์ปค๋์ ๋ณดํธํ๋๋ก ์กฐ์ ๋์์ต๋๋ค. LLVM์์๋ Clang 16 ๋ฆด๋ฆฌ์ค์์ ์๋ก์ด ๊ตฌํ์ด ์ ๊ณต๋๋ฉฐ "-fsanitize=kcfi" ์ต์ ์ ํตํด ํ์ฑํ๋ฉ๋๋ค. ์๋ก์ด ๊ตฌํ๊ณผ์ ์ฃผ์ ์ฐจ์ด์ ์ LTO(๋งํฌ ์๊ฐ ์ต์ ํ)์ ์ฐ๊ฒฐ๋์ง ์์ผ๋ฉฐ ํจ์ ํฌ์ธํฐ๊ฐ ์ ํ ํ ์ด๋ธ์ ๋งํฌ๋ก ๋์ฒด๋์ง ์๋๋ค๋ ๊ฒ์ ๋๋ค.
- LSM ๋ชจ๋(Linux ๋ณด์ ๋ชจ๋)์ ๊ฒฝ์ฐ ๋ค์์คํ์ด์ค ์์ฑ ์์ ์ ๊ฐ๋ก์ฑ๋ ํธ๋ค๋ฌ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
- BPF ํ๋ก๊ทธ๋จ์์ PKCS#7 ๋์งํธ ์๋ช ์ ํ์ธํ๊ธฐ ์ํ ๋๊ตฌ๊ฐ ์ ๊ณต๋ฉ๋๋ค.
- ์ปค๋ 5.6์์ ์ค์๋ก ์ ๊ฑฐ๋์๋ ๋น์ฐจ๋จ ๋ชจ๋(O_NONBLOCK)๋ก ์ฌ๋ ๊ธฐ๋ฅ์ด /dev/random์ ๋ฐํ๋์์ต๋๋ค.
- x86 ์ํคํ ์ฒ๋ฅผ ์ฌ์ฉํ๋ ์์คํ ์์ ์คํ๊ณผ ์ฐ๊ธฐ๋ฅผ ๋์์ ํ์ฉํ๋ ์ปค๋ ํ์ ์์คํ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ ํ์ด์ง๋ฅผ ๋งคํํ๋ ๊ฒฝ์ฐ ๊ฒฝ๊ณ ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. ํฅํ์๋ ์ด๋ฌํ ๋ฉ๋ชจ๋ฆฌ ๋งคํ์ ์ ๋ฉด ๊ธ์งํ๋ ๋ฐฉ์๋ ๊ฒํ ์ค์ด๋ค.
- ์ปค๋์์ ์ด๊ธฐํ๋์ง ์์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋๋ฟ๋ง ์๋๋ผ ์ฌ์ฉ์ ๊ณต๊ฐ๊ณผ ์ฅ์น ๊ฐ์ ์ด๊ธฐํ๋์ง ์์ ๋ฉ๋ชจ๋ฆฌ ๋์๋ฅผ ๊ฐ์งํ๊ธฐ ์ํด KMSAN(Kernel Memory Sanitizer) ๋๋ฒ๊น ๋ฉ์ปค๋์ฆ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- getrandom ํธ์ถ์ ์ฌ์ฉ๋๋ ์ํธํ ๋ณด์ CRNG ์์ฌ ๋์ ์์ฑ๊ธฐ๊ฐ ๊ฐ์ ๋์์ต๋๋ค. ๋ณ๊ฒฝ ์ฌํญ์ VPN WireGuard์ ์์ฑ์์ธ Jason A. Donenfeld๊ฐ ์ค๋นํ์ผ๋ฉฐ ์์ฌ ๋์ ์ ์ ์ถ์ถ์ ๋ณด์์ ํฅ์์ํค๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค.
- ๋คํธ์ํฌ ํ์ ์์คํ
- TCP ์คํ์ ๊ฐ ๋ค์์คํ์ด์ค์ ๋ํด ๋ณ๋๋ก ์์ผ ํด์ ํ ์ด๋ธ์ ์ฌ์ฉํ๋ ๊ธฐ๋ฅ(๊ธฐ๋ณธ์ ์ผ๋ก ๋นํ์ฑํ๋จ)์ ์ ๊ณตํ๋ฏ๋ก ๋ค์์คํ์ด์ค ์๊ฐ ๋ง์ ์์คํ ์ ์ฑ๋ฅ์ด ํฅ์๋ฉ๋๋ค.
- ๋ ๊ฑฐ์ DECnet ํ๋กํ ์ฝ์ ์ง์ํ๋ ์ฝ๋๊ฐ ์ ๊ฑฐ๋์์ต๋๋ค. DECnet์ ์ฌ์ฉํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ปดํ์ผํ ์ ์๋๋ก ์ฌ์ฉ์ ๊ณต๊ฐ API ์คํ ์ด ๊ทธ๋๋ก ๋จ์ ์์ง๋ง ์ด๋ฌํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋คํธ์ํฌ์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
- netlink ํ๋กํ ์ฝ์ด ๋ฌธ์ํ๋์ด ์์ต๋๋ค.
- ะะฑะพััะดะพะฒะฐะฝะธะต
- amdgpu ๋๋ผ์ด๋ฒ๋ ๋งค์ฐ ๋์ ํด์๋๋ฅผ ์ง์ํ๋ ํ๋ฉด๊ณผ ์ ๋ณด๋ฅผ ๊ตํํ ๋ ๋ฌด์์ค ๋ฐ์ดํฐ ์์ถ์ ์ํด DSC(๋์คํ๋ ์ด ์คํธ๋ฆผ ์์ถ) ์ ๋ฌ์ ๋ํ ์ง์์ ์ถ๊ฐํ์ต๋๋ค. AMD RDNA3(RX 7000) ๋ฐ CDNA(Instinct) ํ๋ซํผ์ ๋ํ ์ง์์ ๊ณ์ํด์ ์ ๊ณตํ๊ณ ์์ต๋๋ค. DCN 3.2, SMU 13.x, NBIO 7.7, GC 11.x, PSP 13.x, SDMA 6.x ๋ฐ GMC 11.x IP ๊ตฌ์ฑ ์์์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. amdkfd ๋๋ผ์ด๋ฒ(Polaris์ ๊ฐ์ ๊ฐ๋ณ AMD GPU์ฉ)๋ GFX 11.0.3์ ๋ํ ์ง์์ ์ ๊ณตํฉ๋๋ค.
- i915(Intel) ๋๋ผ์ด๋ฒ์๋ Meteor Lake GPU์ ๋ํ ์ง์์ด ํฌํจ๋์ด ์์ต๋๋ค. Meteor Lake ๋ฐ ์ต์ GPU๋ DP 2.0(DisplayPort) ์ธํฐํ์ด์ค๋ฅผ ์ง์ํฉ๋๋ค. Alder Lake S ๋ง์ดํฌ๋ก์ํคํ ์ฒ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋น๋์ค ์นด๋์ ๋ํ ์๋ณ์๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- Apple Silicon, Intel SkyLake ๋ฐ Intel KabyLake ํ๋ก์ธ์์ ๊ตฌํ๋ ์ค๋์ค ํ์ ์์คํ ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. CS35L41 HDA ์ค๋์ค ๋๋ผ์ด๋ฒ๋ ์ ์ ๋ชจ๋๋ฅผ ์ง์ํฉ๋๋ค. ํตํฉ ์ค๋์ค ์นฉ Apple Silicon, AMD Rembrant DSP, AMD Pink Sardine ACP 6.2, Everest ES8326, Intel Sky Lake ๋ฐ Kaby Lake, Mediatek MT8186, NXP i.MX8ULP DSP, Qualcomm SC8280XP, SM8250์ ๋ํ ASoC(ALSA System on Chip) ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. SM8450 ๋ฐ ํ ์ฌ์ค ์ธ์คํธ๋ฃจ๋จผํธ SRC4392
- LCD ํจ๋์ ๋ํ ์ง์ ์ถ๊ฐ Samsung LTL101AL01, B120XAN01.0, R140NWF5 RH, Densitron DMT028VGHMCMI-1A TFT, AUO B133UAN02.1, IVO M133NW4J-R3, Innolux N120ACA-EA1, AUO B116XAK01.6, BOE NT116WH M-N21 โโ, INX N116BCA- EA2 , INX N116BCN-EA1, ๋ฉํฐ์ด๋ ธ ๊ธฐ์ MI0800FT-9.
- Baikal-T1 SoC์ ์ฌ์ฉ๋๋ AHCI SATA ์ปจํธ๋กค๋ฌ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- Bluetooth ์นฉ MediaTek MT7921, Intel Magnetor(CNVi, ํตํฉ ์ฐ๊ฒฐ), Realtek RTL8852C, RTW8852AE ๋ฐ RTL8761BUV(Edimax BT-8500)์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- Qualcomm ๋ฌด์ ๋ชจ๋์ฉ ath11k ๋๋ผ์ด๋ฒ์๋ 160MHz ๋ฒ์์ ์คํํธ๋ผ ์ค์บ๋์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์๊ณ , ๋ฉํฐ ์ค๋ ๋ NAPI๊ฐ ๊ตฌํ๋์์ผ๋ฉฐ, Qualcomm WCN6750 Wi-Fi ์นฉ์ ๋ํ ์ง์์ด ํฅ์๋์์ต๋๋ค.
- PinePhone ํค๋ณด๋, InterTouch ํฐ์นํจ๋(ThinkPad P1 G3), X-Box Adaptive Controller, PhoenixRC Flight Controller, VRC-2 ์๋์ฐจ ์ปจํธ๋กค๋ฌ, DualSense Edge Controller, IBM Operation Panel, XBOX One Elite ๋ฆฌ๋ชจ์ปจ, ํ๋ธ๋ฆฟ XP-PEN Deco Pro S์ฉ ๋๋ผ์ด๋ฒ ์ถ๊ฐ ๋ฐ Intuos Pro Small(PTH-460).
- Aspeed HACE(ํด์ ๋ฐ ์ํธํ ์์ง) ์ํธํ ๊ฐ์๊ธฐ์ฉ ๋๋ผ์ด๋ฒ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
- ํตํฉ Thunderbolt/USB4 Intel Meteor Lake ์ปจํธ๋กค๋ฌ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- Sony Xperia 1 IV, Samsung Galaxy E5, E7 ๋ฐ Grand Max, Pine64 Pinephone Pro ์ค๋งํธํฐ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ARM SoC ๋ฐ ๋ณด๋์ ๋ํ ์ง์ ์ถ๊ฐ: AMD DaytonaX, Mediatek MT8186, Rockchips RK3399 ๋ฐ RK3566, TI AM62A, NXP i.MX8DXL, Renesas R-Car H3Ne-1.7G, Qualcomm IPQ8064-v2.0, IPQ8062, IPQ8065, Kontron SL/ BL i.MX8MM OSM-S, MT8195(Acer Tomato), Radxa ROCK 4C+, NanoPi R4S Enterprise Edition, JetHome JetHub D1p. SoC Samsung, Mediatek, Renesas, Tegra, Qualcomm, Broadcom ๋ฐ NXP์ฉ ๋๋ผ์ด๋ฒ๊ฐ ์ ๋ฐ์ดํธ๋์์ต๋๋ค.
๋์์ ๋ผํด ์๋ฉ๋ฆฌ์นด ์์ ์ํํธ์จ์ด ์ฌ๋จ์ ์์ ๋ฌด๋ฃ ์ปค๋ 6.1 ๋ฒ์ ์ธ Linux-libre 6.1-gnu๋ฅผ ๋ง๋ค์์ต๋๋ค. ์ด ๋ฒ์ ์๋ ๋น์์ ๊ตฌ์ฑ ์์๋ ์ฝ๋ ์น์
์ด ํฌํจ๋ ํ์จ์ด ๋ฐ ๋๋ผ์ด๋ฒ ์์๊ฐ ์ ๊ฑฐ๋์ด ์์ผ๋ฉฐ ๊ทธ ๋ฒ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์ ์กฐ์
์ฒด์ ์ํด ์ ํ๋ฉ๋๋ค. ์ ๋ฆด๋ฆฌ์ค์์๋ AArch8852 ์ํคํ
์ฒ ๊ธฐ๋ฐ ํ๋ก์ธ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ํ Qualcomm ๋ฐ MediaTek SoC์ ๋ํ ์๋ก์ด rtw64b ๋๋ผ์ด๋ฒ ๋ฐ DTS ํ์ผ์ ์ ๋ฆฌํฉ๋๋ค. ๋๋ผ์ด๋ฒ ๋ฐ ํ์ ์์คํ
amdgpu, i915, brcmfmac, r8188eu, rtw8852c, Intel ACPI์ Blob ์ ๋ฆฌ ์ฝ๋๊ฐ ์
๋ฐ์ดํธ๋์์ต๋๋ค. ์ค๋๋ ๋๋ผ์ด๋ฒ tm6000 TV ์นด๋, cpia2 v4l, sp8870, av7110 ์ฒญ์๊ฐ ์์ ๋์์ต๋๋ค.
์ถ์ฒ : opennet.ru