|
Build multiversion docs / build-multiversion (push) Waiting to run
Details
Sync to CNB.cool / sync (push) Waiting to run
Details
Test MM (Host) / Build slab_stress (host) (push) Waiting to run
Details
Test MM (Host) / Slab allocator long-run (valgrind) - size=${{ matrix.size }}, seed=${{ matrix.seed }} (1, 128) (push) Blocked by required conditions
Details
Test MM (Host) / Slab allocator long-run (valgrind) - size=${{ matrix.size }}, seed=${{ matrix.seed }} (1, 255) (push) Blocked by required conditions
Details
Test MM (Host) / Slab allocator long-run (valgrind) - size=${{ matrix.size }}, seed=${{ matrix.seed }} (1, 256) (push) Blocked by required conditions
Details
Test MM (Host) / Slab allocator long-run (valgrind) - size=${{ matrix.size }}, seed=${{ matrix.seed }} (1, 64) (push) Blocked by required conditions
Details
Test MM (Host) / Slab allocator long-run (valgrind) - size=${{ matrix.size }}, seed=${{ matrix.seed }} (2, 128) (push) Blocked by required conditions
Details
Test MM (Host) / Slab allocator long-run (valgrind) - size=${{ matrix.size }}, seed=${{ matrix.seed }} (2, 255) (push) Blocked by required conditions
Details
Test MM (Host) / Slab allocator long-run (valgrind) - size=${{ matrix.size }}, seed=${{ matrix.seed }} (2, 256) (push) Blocked by required conditions
Details
Test MM (Host) / Slab allocator long-run (valgrind) - size=${{ matrix.size }}, seed=${{ matrix.seed }} (2, 64) (push) Blocked by required conditions
Details
Test MM (Host) / Slab allocator long-run (valgrind) - size=${{ matrix.size }}, seed=${{ matrix.seed }} (3, 128) (push) Blocked by required conditions
Details
Test MM (Host) / Slab allocator long-run (valgrind) - size=${{ matrix.size }}, seed=${{ matrix.seed }} (3, 255) (push) Blocked by required conditions
Details
Test MM (Host) / Slab allocator long-run (valgrind) - size=${{ matrix.size }}, seed=${{ matrix.seed }} (3, 256) (push) Blocked by required conditions
Details
Test MM (Host) / Slab allocator long-run (valgrind) - size=${{ matrix.size }}, seed=${{ matrix.seed }} (3, 64) (push) Blocked by required conditions
Details
Test x86_64 / Integration Test (push) Waiting to run
Details
* fix(mm): 克隆地址空间时对于映射到 SysV 共享内存的 VMA 增加 shm map_count。
* fix(ipc): 使 shm 元数据与 Linux 对齐
- 补充 `ShmFlags::PERM_MASK` 用于获取 POSIX 权限位
- 该掩码用于屏蔽掉非权限位的一次性标志,如 `IPC_CREAT`、`IPC_EXCL` 等。
- 使 KernelShm 能正确创建并初始化
- 正确初始化 uid/gid/cuid/cgid,并使用 `PERM_MASK` 正确获取权限位。
- shm_lpid 初始化为 0(因为 lpid 只记录最后一个执行 attach/detach 操作的进程 ID,而在创建时没有这样的进程)。
- 使 `shm_stat` 能够正确获取共享内存状态信息
- 使 `shm_stat` 正确获取 shm_perm.mode。
- 使 `shm_stat` 将 shm_{a,d,c}time 以秒为单位输出,
* fix(ipc/sys_shmget): 完善 sys_shmget 创建一个 key 已经存在的共享内存段时的错误处理
- 添加了对 size 参数的检查,确保如果 size 大于已存在段的大小,则返回错误。
* feat(ipc): 添加KernIpcPerm构造函数
* docs(ipc/shm): 优化 SysV Shm 模块部分注释,标记待实现的 ShmId 生成机制
- 统一称呼“Shm Segment”为“共享内存段”,避免混淆
- 使用 “attach” 和 “detach” 术语,避免使用中文翻译。
- 优化部分注释的表达,使其更清晰易懂
- 标记待实现的 ShmId 生成机制
* refactor(mm/ucontext): 优化 `InnerAddressSpace::munmap` 函数和其内部调用 `extract` 函数的注释
- 重构并优化 `InnerAddressSpace::munmap()` 函数的注释
- 调整了部分代码的顺序以提升可读性
- 优化了检查 related_vmas 循环中的注释和变量命名,使其更清晰易懂
- 添加了循环 unmap related_vmas 的每次循环的操作的逻辑注释,帮助理解代码意图
- 优化 `LockedVMA::extract()` 函数注释,增加参数和返回值说明
* docs(mm/UserMappings): 优化 `remove_vma` 函数的注释
* refactor(mm/ucontext): 优化 LockedVMA::unmap() 临时变量命名
- 优化共享内存管理器的detach_shm函数注释,增加对副作用的说明
- 优化 unmap() 函数中变量的命名
* refactor(ipc/shm): 优化 KernIpcPerm 构造函数,简化权限信息传递
* docs(ipc/shm): 更新 KernelShm 结构体中 shm_lprid 字段的注释,明确操作者定义
* fmt
* docs(ipc/shm): 更新 KernelShm 构造函数中 lprid 填充为0 的注释
* fix(ipc): 修复 shm 路径 unwrap 崩溃
* fix(ipc): 处理 fork 中 shm 段删除竞态
* fix(ipc/shmget): sys_shmget 共享内存段状态不一致
- 添加根据 shm_id 获取实际共享内存段的错误处理,防止在 “检查” -> “获取” 过程中状态变化导致的不一致问题。
* fix(ipc/shm): 处理 shm 相关类型转换溢出
* 补充 try_clone 锁顺序说明
* clean: 清除未使用的 PosixShmPerm::new 函数
* ci: restart CI pipeline
---------
Co-authored-by: longjin <longjin@DragonOS.org>
|
||
|---|---|---|
| .. | ||
| .cargo | ||
| crates | ||
| src | ||
| submodules | ||
| .clippy.toml | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| Makefile | ||
| build.rs | ||
| env.mk | ||
| rust-toolchain.toml | ||