From ba16217afe3691e4a7e3601f3bf0fd2da494656d Mon Sep 17 00:00:00 2001 From: Linehu Date: Fri, 2 Oct 2026 15:30:25 +0800 Subject: [PATCH] feat: U3 @sealed optional segment marking - phase 2 complete - UTSM_SEG_F_UNSEALED: plaintext direct-store segments (zero crypto overhead) while keeping capability checks, dirty tracking, intent/commit log and seqlock protocol; default remains sealed - linker.ld: .sealed output section with __sealed_start/__sealed_end symbols for future static sealed data - selftest: unsealed segment stores plaintext verifiably + read-back, full SELFTEST PASS (.build_tmp/qemu_serial_u3sealed.log) - phase 2 (UTSM/UTRW) now complete in ROADMAP_INSANE --- CLAUDE.md | 2 +- CODE/UTSM/include/utsm/segment.h | 4 ++++ CODE/UTSM/linker.ld | 10 +++++++++ CODE/UTSM/test/utsm_selftest.c | 34 +++++++++++++++++++++++++++++++ CODE/UTSM/test/utsm_selftest.o | Bin 8200 -> 9184 bytes CODE/UTSM/utrw/read.c | 6 ++++++ CODE/UTSM/utrw/read.d | 14 +++++++++++++ CODE/UTSM/utrw/read.o | Bin 1488 -> 1592 bytes CODE/UTSM/utrw/write.c | 12 +++++++++++ CODE/UTSM/utrw/write.d | 15 ++++++++++++++ CODE/UTSM/utrw/write.o | Bin 1864 -> 2064 bytes SYSTEM/boot/utsm.elf | Bin 966504 -> 970736 bytes SYSTEM/system/deshab64/FUCK | 2 ++ build/configs/dev/FUCK | 2 ++ docs/ROADMAP_INSANE.md | 4 ++-- docs/STATUS.md | 2 +- docs/TASKBOARD.md | 2 +- 17 files changed, 104 insertions(+), 5 deletions(-) create mode 100644 CODE/UTSM/utrw/read.d create mode 100644 CODE/UTSM/utrw/write.d diff --git a/CLAUDE.md b/CLAUDE.md index 93847c7..16446fb 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -173,7 +173,7 @@ kernel_api 已暴露能力:log, rsdp_address, fb_address/width/height/pitch/bp 下一阶段优先路线(活跃路线 = `docs/ROADMAP_INSANE.md` 五期填补计划,任务编号 F/U/D/R/E;状态唯一来源 = `docs/STATUS.md`): 1. **一期 F 系列收尾**: F2 统一控制台后端(fbcon.h 抽象已落,panic 已用)。(F1 莲花 panic / F3 跨平台 Makefile / F4 boot 分级自检 / F5 skip_firstinit 已完成) -2. **二期 U 系列**: @sealed 段标记(~~U2 Slow Path~~、~~U4 密文 dump~~、~~U5 KAT~~ 已完成;chacha20 KAT 已落地为 RFC 8439 官方向量并三方对拍,"间歇 FAIL" 确认为从未合并的幽灵缺陷)。 +2. **二期 U 系列**: ✅ 已完成(U1 UUID 表 / U2 Slow Path 真分支 / U3 @sealed 可选标记+linker .sealed section / U4 密文 dump / U5 RFC 8439 KAT)。chacha20 KAT 三方对拍通过(pycryptodome+官方向量+C),"间歇 FAIL" 确认为从未合并的幽灵缺陷。 3. **三期 D 系列**: DKM 热卸载(引用计数)、裸机器码加载器、按名 API 导出表、彩色日志。 4. **四期 R 系列收尾**: segment/system 级回滚验证、PCQ per-cpu 多核。(~~drr_emergency_pool_kb/drr_recovery_log_size 接线~~ R3b 已完成,运行期钳位验证 PASS) 5. **五期 E 系列**: 启动莲花动画、假想时光键彩蛋、提交信息规范、风味 ISO。 diff --git a/CODE/UTSM/include/utsm/segment.h b/CODE/UTSM/include/utsm/segment.h index 9ba2f80..0278d65 100644 --- a/CODE/UTSM/include/utsm/segment.h +++ b/CODE/UTSM/include/utsm/segment.h @@ -22,6 +22,10 @@ typedef enum { #define UTSM_SEG_F_EXEC (1U << 2) #define UTSM_SEG_F_DMA (1U << 3) #define UTSM_SEG_F_STRONG_RECOVERY (1U << 4) +/* U3: @sealed 可选标记。默认(不加此 flag)= 封缄段(密文存储,读写走 UTRW + * 加解密);加 UTSM_SEG_F_UNSEALED = 明文直存段(0 加解密开销,读写仍走 + * capability 校验与 dirty 跟踪,但直接 memcpy)。"用户能选锁不锁"。 */ +#define UTSM_SEG_F_UNSEALED (1U << 5) typedef struct utsm_segment_desc { uuid128_t segment_uuid; diff --git a/CODE/UTSM/linker.ld b/CODE/UTSM/linker.ld index 2aede7b..677511b 100644 --- a/CODE/UTSM/linker.ld +++ b/CODE/UTSM/linker.ld @@ -27,6 +27,16 @@ SECTIONS *(COMMON) } :data + /* U3: @sealed 段标记 —— 用户代码可把静态数据放进 .sealed section + *(__attribute__((section(".sealed")))),UTSM 侧可遍历 + * [__sealed_start, __sealed_end) 对该区建立封缄段。未标记数据 0 开销。 */ + .sealed : ALIGN(4K) { + __sealed_start = .; + *(.sealed) + *(.sealed.*) + __sealed_end = .; + } :data + .bss : ALIGN(4K) { *(.bss*) } :data diff --git a/CODE/UTSM/test/utsm_selftest.c b/CODE/UTSM/test/utsm_selftest.c index e7cdb7f..e8c81b3 100644 --- a/CODE/UTSM/test/utsm_selftest.c +++ b/CODE/UTSM/test/utsm_selftest.c @@ -156,6 +156,40 @@ int utsm_selftest_run(void) { log_info("[UTSM] selftest slow POISONED ok"); } + /* ==== U3: @sealed 可选标记 —— unsealed 段明文直存(0 加解密开销) ==== */ + { + utsm_capability ucap; + status = utsm_create_segment(process, UTSM_PAGE_SIZE, + UTSM_SEG_F_READ | UTSM_SEG_F_WRITE | + UTSM_SEG_F_UNSEALED, + &ucap); + if (status != UTSM_OK) { + log_error("[UTSM] selftest unsealed segment create failed"); + return status; + } + const char *upl = "unsealed plain text 00"; + u64 ulen = strlen(upl) + 1; + status = utsm_write(ucap, 128, upl, ulen); + if (status != UTSM_OK) { + log_error("[UTSM] selftest unsealed write failed"); + return status; + } + utsm_segment_desc *udesc = utsm_get_segment(ucap.segment_slot); + if (!udesc) return UTSM_ERR_INVALID; + /* 明文直存:存储区内容必须与明文完全一致(0 开销的可观察证据) */ + if (memcmp(udesc->cipher_base + 128, upl, ulen) != 0) { + log_error("[UTSM] selftest unsealed store not plaintext"); + return UTSM_ERR_INVALID; + } + char urb[64]; + status = utsm_read(ucap, 128, urb, ulen); + if (status != UTSM_OK || memcmp(urb, upl, ulen) != 0) { + log_error("[UTSM] selftest unsealed read failed"); + return (status == UTSM_OK) ? UTSM_ERR_INVALID : status; + } + log_info("[UTSM] selftest unsealed segment ok (plain storage)"); + } + /* ==== SCHED-1: O(1) runqueue 语义(合成 TCB,协作式,无 tick) ==== */ /* ==== SCHED-1 + SCHED-2: runqueue / block-wake(tick 竞态保护) ==== */ { diff --git a/CODE/UTSM/test/utsm_selftest.o b/CODE/UTSM/test/utsm_selftest.o index d588f478a861f865958de1630c48b28d071a6c32..bde49fce43e8b0ae9183e719b7dbbaed9df36d90 100644 GIT binary patch literal 9184 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 literal 8200 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 diff --git a/CODE/UTSM/utrw/read.c b/CODE/UTSM/utrw/read.c index abcac6a..3f14617 100644 --- a/CODE/UTSM/utrw/read.c +++ b/CODE/UTSM/utrw/read.c @@ -20,6 +20,12 @@ int utsm_read(utsm_capability cap, u64 offset, void *dst, u64 len) { return status; } + /* U3: @unsealed 段 —— 明文直存,0 加解密开销(capability 校验照走) */ + if (desc->flags & UTSM_SEG_F_UNSEALED) { + memcpy(dst, desc->cipher_base + offset, len); + return UTSM_OK; + } + utsm_key_material key; status = utsm_pckc_get_or_derive(cap.segment_slot, desc, &key); if (status != UTSM_OK) { diff --git a/CODE/UTSM/utrw/read.d b/CODE/UTSM/utrw/read.d new file mode 100644 index 0000000..c2a6c22 --- /dev/null +++ b/CODE/UTSM/utrw/read.d @@ -0,0 +1,14 @@ +utrw/read.o: utrw\read.c include\utsm\utrw.h include\utsm\types.h \ + include\utsm\status.h include\utsm\capability.h include\utsm\segment.h \ + include\utsm\uuid.h include\utsm\dirty.h include\utsm\pckc.h \ + include\utsm\config.h include\utsm\crypto.h +include\utsm\utrw.h: +include\utsm\types.h: +include\utsm\status.h: +include\utsm\capability.h: +include\utsm\segment.h: +include\utsm\uuid.h: +include\utsm\dirty.h: +include\utsm\pckc.h: +include\utsm\config.h: +include\utsm\crypto.h: diff --git a/CODE/UTSM/utrw/read.o b/CODE/UTSM/utrw/read.o index 5f911518ad49c85b492562098ceed3c685f4223a..b9ab9c376d3ad759c917562f661be6d97512842a 100644 GIT binary patch delta 586 zcmcb>y@O|h29pKLL@gc7D;}-i_@^B7XuZTg_0W$0K+tlLzcqxBfx)-+34eyr5C=rr6};XJ_O2iTYL0| z&HyU{DR=}@-0gb7quZlk$2XuQ-wrbJx1IrscKV($yzSFjdcdc%c1M~XzkCZ&6lCc= zzg`_{pU!t42j8*zcE0y)elC2#vH7X}4hNvLkLC-X&c{BQpC?-|%GFmYc=XoJ@aR0| z)A`G%yLN|1Z*Kt55{MhST@QHm+8B8Cn&^TAJs974blw6>`7nO=v3$(mQ~?qOy3X*V zM|bE659|<`x!)nv*Xw%TDHC(qNo6 z*^p_vI() zu8_r?lYtqeoPlA&Y*L~fuQ9gf2%zs1A}ktfBqH|Aj7ls zn`h_WiS=p*?|eFc1vmyc1~~@4U;qM-<|7KN2l!jx0omQw9^IuEJbFVXfTcjf*C*Z= z^*abs*Xeu0r?d8etKom2&e9D&ow+-Fx>FCNrRnj@w}1>{@aT5k;oGaj?$i0s5z=QFfN9QfDuqWevU(4tGP1PXbZr2NjCq24DPk2}d6zup06ykR| z_?pS^fJftz4xnw(jxmn0j&Y9hv46pRe@4D~D& zG|WoD(uSIo9a$76M=)tHHcoD2nl9M`GzA1$p!g5a4iMm(Y{)DwsRs;H5CF-t0WnP0 zb#fxJ_~Hr7jEowSC$hK$&AQ2A&bfgJq?Uo9VzMNwIp;yBUX96-tmaHF87Dh3iA`R? ZssYq;k=0)C1629|SPKIK<77ovaRA1WwRr#l diff --git a/CODE/UTSM/utrw/write.c b/CODE/UTSM/utrw/write.c index 5ddbd6f..2d04619 100644 --- a/CODE/UTSM/utrw/write.c +++ b/CODE/UTSM/utrw/write.c @@ -21,6 +21,18 @@ int utsm_write(utsm_capability cap, u64 offset, const void *src, u64 len) { return status; } + /* U3: @unsealed 段 —— 明文直存,0 加解密开销;dirty/seqlock/log 照走, + * checkpoint 路径对明文页同样适用(页 MAC 语义由 DRR 侧统一处理)。 */ + if (desc->flags & UTSM_SEG_F_UNSEALED) { + drr_log_write_intent(cap.segment_slot, offset, len); + desc->writer_seq++; + memcpy(desc->cipher_base + offset, src, len); + utsm_mark_dirty(desc, offset, len); + desc->writer_seq++; + drr_log_write_commit(cap.segment_slot, offset, len); + return UTSM_OK; + } + utsm_key_material key; status = utsm_pckc_get_or_derive(cap.segment_slot, desc, &key); if (status != UTSM_OK) { diff --git a/CODE/UTSM/utrw/write.d b/CODE/UTSM/utrw/write.d new file mode 100644 index 0000000..236c615 --- /dev/null +++ b/CODE/UTSM/utrw/write.d @@ -0,0 +1,15 @@ +utrw/write.o: utrw\write.c include\utsm\utrw.h include\utsm\types.h \ + include\utsm\status.h include\utsm\capability.h include\utsm\segment.h \ + include\utsm\uuid.h include\utsm\dirty.h include\utsm\pckc.h \ + include\utsm\config.h include\utsm\crypto.h include\utsm\drr.h +include\utsm\utrw.h: +include\utsm\types.h: +include\utsm\status.h: +include\utsm\capability.h: +include\utsm\segment.h: +include\utsm\uuid.h: +include\utsm\dirty.h: +include\utsm\pckc.h: +include\utsm\config.h: +include\utsm\crypto.h: +include\utsm\drr.h: diff --git a/CODE/UTSM/utrw/write.o b/CODE/UTSM/utrw/write.o index 1bd25a58d85bc2ffd3d174db3be3e0fce6efa9fa..0bde9e89089e40306c95ca30df9083d6675c5d60 100644 GIT binary patch delta 705 zcmX@XH$h;629p5WL@hm))^Ge%4tlg+;-7kG$A2Jbxyax8hmnE77bwy45yCs(!;hS5E0)ML!kk>8k(Hq*)dH)3i5VRiPZ|#_PLosNBPiN{5pU&I^FPnhE z9^I}NJh}rEd>9{j^wxHGbe{9+-Rc0e#;5ZmSf5v~jV_4q!T8>%JNJNhuZg}#=Pj@l zSVMQ|ipkN827DWQEx-G8r|#fy-V8K$@>E98dXG-u75uH*Aj6~w6w;DS z5))I*lT1^RjMLK6OpFXu(kv4#&5X^>3`~jN`H!h&(K7MmGo9n_pOu(}#H6~-r%7qZziX|PUy#Ae6%VzMH;IsjJZ B1d0Fv delta 480 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