已合并
support mark mount entry flags by dec. #2902
AsterNighT创建于 1 天前
support mark mount entry flags by dec. #2902
已合并
Pull Request已成功合入, 合并人@openharmony_ci
(感谢 AsterNighT 的贡献)1 天前 关联了issue:支持通过 DEC 标记挂载项路径类型 (UGC/isolate)
AsterNighT
1 天前 评论:
1 天前 评论:
start build


1 天前 添加了label:waiting_on_author
openharmony_ci
1 天前 评论:
1 天前 评论:
感谢提交 Pull Requests!如果您提交的PR已经开发完毕,请评论 "start build" 触发门禁,更多交互操作,请访问OpenHarmony社区支持命令清单。如果需要调整订阅PR、Issue的变更状态,请访问订阅链接。
Thanks for submitting the pull request. If your Pull Request has already been developed, you can leave a "start build" comment to trigger the gated system. For more commands, please visit OpenHarmony Command List. If you need to change the subscription of a Pull Request or Issue, please visit the link.


1 天前 添加了label:dco检查成功
此处折叠了76条消息 查看更多
1 天前 通过审查
1 天前 关闭了关联的issue
1 天前 合入了pull request,合并节点 SHA:802434c49112d209eb97b07414987a3ea3368b33
1 天前 删除了label:waiting_for_review
1 天前 添加了label:merged
相关的Issue
#2105
原因(目的、解决的问题等)
appspawn 完成沙箱挂载后未向 DEC 子系统的
/dev/dec设备下发路径类型标记,文件系统无法区分 UGC / isolate 类型的挂载路径,导致基于路径标签的安全隔离策略无法生效。详见 #2105。描述(做了什么,变更了什么)
在
modules/common/appspawn_isolate.c中新增通过 DEC ioctl 标记挂载项路径类型的能力:SEC_UGC_PATH_TYPE(1 << 0)、SEC_ISOLATE_PATH_TYPE(1 << 1)g_ugcPathInfos:/storage/Users/currentUser→ UGC 类型g_isolatePathInfos:/storage/Users/currentUser、/data/storage/el1/base、/data/storage/el2/base→ isolate 类型SetMark():打开/dev/dec,通过ADD_PATH_MARK_CMDioctl 批量下发路径标记,失败仅打印告警日志(不阻断启动流程)SpawnSetPathMark()hook,注册到STAGE_CHILD_EXECUTE+HOOK_PRIO_SANDBOX_MARK_PATH阶段,位于MarkSandboxMounts之前,确保在 sandbox 挂载之后、setuid 之前完成标记下发变更文件:
modules/common/appspawn_isolate.c(+52 行)测试用例(新增、改动、可能影响的功能)
STAGE_CHILD_EXECUTE阶段)、DEC 路径标记行为/dev/decioctl 调用时序、UGC/isolate 路径标记是否生效、open(/dev/dec)失败时不阻断 app 启动(仅告警)test/unittest/中针对SpawnSetPathMark的单测,以及test/moduletest/中 DEC 路径标记的模块测试