| fix:add code owner Feature or Bugfix:Bugfix Binary Source: No Signed-off-by: liveery <liangming712@huawei.com> | 2 年前 |
| style: optimize log wording by removing redundant 'to' This commit optimizes log messages by removing redundant 'to' in: - 'failed to xxx' -> 'failed xxx' - 'Failed to xxx' -> 'Failed xxx' - 'can not xxx' -> 'cannot xxx' These changes improve log conciseness without affecting semantics. Signed-off-by: qianyangyi <qianyangyi@h-partners.com> Co-authored-by: Agent | 1 个月前 |
| 修改图片 Signed-off-by: cheng_jinsong <chengjinsong2@huawei.com> | 3 年前 |
| Description: Code optimization Feature or Bugfix: Bugfix Binary Source:No Signed-off-by: lwx1281857 <linnanmu@h-partners.com> | 1 年前 |
| fix(init/ueventd): PID 1 稳定性修复 — waitpid 超时(高-5/6) + ueventd NULL 守卫(高-10) + 单测 三项高风险、小改动的 PID 1 稳定性修复: 1. syncexec/DumpFdInfo waitpid 无超时(高-6,init_cmds.c): SyncExecCommand(cfg "syncexec" 命令)与 DumpFdInfo 的 waitpid(pid,&status,0) 无超时,异常/恶意子进程挂起即冻结 init(违反 AGENTS.md §3.2)。复用 WaitPidTimeout(WNOHANG 轮询,超时 SIGKILL+收尸,返 -1); syncexec 30s、fd dump 5s(测试构建 200ms 以便超时分支可测)。 2. appspawn waitpid 无超时(高-5,init_service_manager.c): StopAppSpawnBeforeReboot 在 SIGTERM 后阻塞 waitpid(appspawn),appspawn D 态或忽略 SIGTERM 则重启/关机冻结。复用 WaitPidTimeout(5s+SIGKILL)。 WaitPidTimeout 定义于 init_utils.c(所有 init 相关 target 均编译), 声明于 init_utils.h(INIT_LOCAL_API)。SyncExecCommand 声明于 init_cmds.h (INIT_LOCAL_API,非 static 以便测试)。调用方均 include 头文件,无 extern。 3. ueventd strstr NULL 解引用(高-10,ueventd.c): HandleRequiredBlockDeviceNodes 未判 deviceName 即 strstr,块设备 uevent 不保证带 DEVNAME → NULL 解引用 → ramdisk ueventd -b 段错误、启动失败。 增 deviceName 判空守卫;not-found 日志 NULL 打印 "(null)"。11 折 || 分区名链抽为表驱动 IsRequiredPartitionName(声明于 ueventd.h, INIT_LOCAL_API,行为不变,圈复杂度 ≤10)。 编码规则: - CPP 测试文件使用 C++ 标准头(<csignal>)。 - 魔法数字改为命名常量。 - 禁止 extern:函数均经头文件声明(INIT_LOCAL_API)。 - INIT_LOCAL_API 防止符号导出。 测试(在既有文件中新增,100% 分支覆盖新增代码): - cmds_unittest.cpp: - WaitPidTimeout 3 分支(子退出/无效 pid/超时 SIGKILL+收尸)。 - SyncExecCommand 2 分支(/bin/true 子退出→status≥0;sh kill -STOP→超时→status<0)。 - ueventd_event_unittest.cpp:IsRequiredPartitionName 3 分支(循环匹配/IsOtherPartitionName/无匹配)。 rebase 至最新 master(解决与 SUPPORT_PATCH 代码块的冲突)。 验证:ninja -C out/rk3568 init init_unittest → 0 error,0 warning。 Signed-off-by: chenjinxiang3 <chenjinxiang3@huawei.com> 🤖 AI[0%] 🔧 Human Fixed[0%] 🧑 Human[0%] 👌 AI Adopted[0%] Change-Id: I98aa0c4947e3da36d9d9600019e1086e25deea15 | 3 天前 |
| !4858 merge 0730init into master [StartUpInit] no more DoRemount when per-partition REMOUNT_SUCC Created-by: qingjy Commit-by: Demon-QING Merged-by: openharmony_ci Description: ### 相关的Issue 3357 ### 原因(目的、解决的问题等) when per-partition REMOUNT_SUCC, DoRemount still enters. ### 描述(做了什么,变更了什么) no more DoRemount when per-partition REMOUNT_SUCC ### 测试用例(新增、改动、可能影响的功能) See merge request: openharmony/startup_init!4858 | 1 个月前 |
| Description:Code optimization Feature or Bugfix:Bugfix Binary Source:No Signed-off-by: lwx1281857 <linnanmu@h-partners.com> | 2 年前 |
| fix(init/ueventd): PID 1 稳定性修复 — waitpid 超时(高-5/6) + ueventd NULL 守卫(高-10) + 单测 三项高风险、小改动的 PID 1 稳定性修复: 1. syncexec/DumpFdInfo waitpid 无超时(高-6,init_cmds.c): SyncExecCommand(cfg "syncexec" 命令)与 DumpFdInfo 的 waitpid(pid,&status,0) 无超时,异常/恶意子进程挂起即冻结 init(违反 AGENTS.md §3.2)。复用 WaitPidTimeout(WNOHANG 轮询,超时 SIGKILL+收尸,返 -1); syncexec 30s、fd dump 5s(测试构建 200ms 以便超时分支可测)。 2. appspawn waitpid 无超时(高-5,init_service_manager.c): StopAppSpawnBeforeReboot 在 SIGTERM 后阻塞 waitpid(appspawn),appspawn D 态或忽略 SIGTERM 则重启/关机冻结。复用 WaitPidTimeout(5s+SIGKILL)。 WaitPidTimeout 定义于 init_utils.c(所有 init 相关 target 均编译), 声明于 init_utils.h(INIT_LOCAL_API)。SyncExecCommand 声明于 init_cmds.h (INIT_LOCAL_API,非 static 以便测试)。调用方均 include 头文件,无 extern。 3. ueventd strstr NULL 解引用(高-10,ueventd.c): HandleRequiredBlockDeviceNodes 未判 deviceName 即 strstr,块设备 uevent 不保证带 DEVNAME → NULL 解引用 → ramdisk ueventd -b 段错误、启动失败。 增 deviceName 判空守卫;not-found 日志 NULL 打印 "(null)"。11 折 || 分区名链抽为表驱动 IsRequiredPartitionName(声明于 ueventd.h, INIT_LOCAL_API,行为不变,圈复杂度 ≤10)。 编码规则: - CPP 测试文件使用 C++ 标准头(<csignal>)。 - 魔法数字改为命名常量。 - 禁止 extern:函数均经头文件声明(INIT_LOCAL_API)。 - INIT_LOCAL_API 防止符号导出。 测试(在既有文件中新增,100% 分支覆盖新增代码): - cmds_unittest.cpp: - WaitPidTimeout 3 分支(子退出/无效 pid/超时 SIGKILL+收尸)。 - SyncExecCommand 2 分支(/bin/true 子退出→status≥0;sh kill -STOP→超时→status<0)。 - ueventd_event_unittest.cpp:IsRequiredPartitionName 3 分支(循环匹配/IsOtherPartitionName/无匹配)。 rebase 至最新 master(解决与 SUPPORT_PATCH 代码块的冲突)。 验证:ninja -C out/rk3568 init init_unittest → 0 error,0 warning。 Signed-off-by: chenjinxiang3 <chenjinxiang3@huawei.com> 🤖 AI[0%] 🔧 Human Fixed[0%] 🧑 Human[0%] 👌 AI Adopted[0%] Change-Id: I98aa0c4947e3da36d9d9600019e1086e25deea15 | 3 天前 |
| feat: add GetSdkPatchApiVersion and GetSdkMinorApiVersion for simulator Signed-off-by: qianyangyi <qianyangyi@h-partners.com> Co-authored-by: Agent | 2 个月前 |
| fix(init/ueventd): PID 1 稳定性修复 — waitpid 超时(高-5/6) + ueventd NULL 守卫(高-10) + 单测 三项高风险、小改动的 PID 1 稳定性修复: 1. syncexec/DumpFdInfo waitpid 无超时(高-6,init_cmds.c): SyncExecCommand(cfg "syncexec" 命令)与 DumpFdInfo 的 waitpid(pid,&status,0) 无超时,异常/恶意子进程挂起即冻结 init(违反 AGENTS.md §3.2)。复用 WaitPidTimeout(WNOHANG 轮询,超时 SIGKILL+收尸,返 -1); syncexec 30s、fd dump 5s(测试构建 200ms 以便超时分支可测)。 2. appspawn waitpid 无超时(高-5,init_service_manager.c): StopAppSpawnBeforeReboot 在 SIGTERM 后阻塞 waitpid(appspawn),appspawn D 态或忽略 SIGTERM 则重启/关机冻结。复用 WaitPidTimeout(5s+SIGKILL)。 WaitPidTimeout 定义于 init_utils.c(所有 init 相关 target 均编译), 声明于 init_utils.h(INIT_LOCAL_API)。SyncExecCommand 声明于 init_cmds.h (INIT_LOCAL_API,非 static 以便测试)。调用方均 include 头文件,无 extern。 3. ueventd strstr NULL 解引用(高-10,ueventd.c): HandleRequiredBlockDeviceNodes 未判 deviceName 即 strstr,块设备 uevent 不保证带 DEVNAME → NULL 解引用 → ramdisk ueventd -b 段错误、启动失败。 增 deviceName 判空守卫;not-found 日志 NULL 打印 "(null)"。11 折 || 分区名链抽为表驱动 IsRequiredPartitionName(声明于 ueventd.h, INIT_LOCAL_API,行为不变,圈复杂度 ≤10)。 编码规则: - CPP 测试文件使用 C++ 标准头(<csignal>)。 - 魔法数字改为命名常量。 - 禁止 extern:函数均经头文件声明(INIT_LOCAL_API)。 - INIT_LOCAL_API 防止符号导出。 测试(在既有文件中新增,100% 分支覆盖新增代码): - cmds_unittest.cpp: - WaitPidTimeout 3 分支(子退出/无效 pid/超时 SIGKILL+收尸)。 - SyncExecCommand 2 分支(/bin/true 子退出→status≥0;sh kill -STOP→超时→status<0)。 - ueventd_event_unittest.cpp:IsRequiredPartitionName 3 分支(循环匹配/IsOtherPartitionName/无匹配)。 rebase 至最新 master(解决与 SUPPORT_PATCH 代码块的冲突)。 验证:ninja -C out/rk3568 init init_unittest → 0 error,0 warning。 Signed-off-by: chenjinxiang3 <chenjinxiang3@huawei.com> 🤖 AI[0%] 🔧 Human Fixed[0%] 🧑 Human[0%] 👌 AI Adopted[0%] Change-Id: I98aa0c4947e3da36d9d9600019e1086e25deea15 | 3 天前 |
| fix: jsonStr添加判空 Co-Authored-By: Agent Signed-off-by: kbm1w9y0j <weiyujin@huawei.com> | 11 天前 |
| fix(init/ueventd): PID 1 稳定性修复 — waitpid 超时(高-5/6) + ueventd NULL 守卫(高-10) + 单测 三项高风险、小改动的 PID 1 稳定性修复: 1. syncexec/DumpFdInfo waitpid 无超时(高-6,init_cmds.c): SyncExecCommand(cfg "syncexec" 命令)与 DumpFdInfo 的 waitpid(pid,&status,0) 无超时,异常/恶意子进程挂起即冻结 init(违反 AGENTS.md §3.2)。复用 WaitPidTimeout(WNOHANG 轮询,超时 SIGKILL+收尸,返 -1); syncexec 30s、fd dump 5s(测试构建 200ms 以便超时分支可测)。 2. appspawn waitpid 无超时(高-5,init_service_manager.c): StopAppSpawnBeforeReboot 在 SIGTERM 后阻塞 waitpid(appspawn),appspawn D 态或忽略 SIGTERM 则重启/关机冻结。复用 WaitPidTimeout(5s+SIGKILL)。 WaitPidTimeout 定义于 init_utils.c(所有 init 相关 target 均编译), 声明于 init_utils.h(INIT_LOCAL_API)。SyncExecCommand 声明于 init_cmds.h (INIT_LOCAL_API,非 static 以便测试)。调用方均 include 头文件,无 extern。 3. ueventd strstr NULL 解引用(高-10,ueventd.c): HandleRequiredBlockDeviceNodes 未判 deviceName 即 strstr,块设备 uevent 不保证带 DEVNAME → NULL 解引用 → ramdisk ueventd -b 段错误、启动失败。 增 deviceName 判空守卫;not-found 日志 NULL 打印 "(null)"。11 折 || 分区名链抽为表驱动 IsRequiredPartitionName(声明于 ueventd.h, INIT_LOCAL_API,行为不变,圈复杂度 ≤10)。 编码规则: - CPP 测试文件使用 C++ 标准头(<csignal>)。 - 魔法数字改为命名常量。 - 禁止 extern:函数均经头文件声明(INIT_LOCAL_API)。 - INIT_LOCAL_API 防止符号导出。 测试(在既有文件中新增,100% 分支覆盖新增代码): - cmds_unittest.cpp: - WaitPidTimeout 3 分支(子退出/无效 pid/超时 SIGKILL+收尸)。 - SyncExecCommand 2 分支(/bin/true 子退出→status≥0;sh kill -STOP→超时→status<0)。 - ueventd_event_unittest.cpp:IsRequiredPartitionName 3 分支(循环匹配/IsOtherPartitionName/无匹配)。 rebase 至最新 master(解决与 SUPPORT_PATCH 代码块的冲突)。 验证:ninja -C out/rk3568 init init_unittest → 0 error,0 warning。 Signed-off-by: chenjinxiang3 <chenjinxiang3@huawei.com> 🤖 AI[0%] 🔧 Human Fixed[0%] 🧑 Human[0%] 👌 AI Adopted[0%] Change-Id: I98aa0c4947e3da36d9d9600019e1086e25deea15 | 3 天前 |
| style: optimize log wording by removing redundant 'to' This commit optimizes log messages by removing redundant 'to' in: - 'failed to xxx' -> 'failed xxx' - 'Failed to xxx' -> 'Failed xxx' - 'can not xxx' -> 'cannot xxx' These changes improve log conciseness without affecting semantics. Signed-off-by: qianyangyi <qianyangyi@h-partners.com> Co-authored-by: Agent | 1 个月前 |
| Add AGENTS.md guidance for coding agents in startup_init Add English (AGENTS.md) and Chinese (AGENTS_zh.md) guidance documents for coding agents working in the base/startup/init repository. Covers code map, knowledge routing to subsystem docs, architecture invariants (single-threaded init, socket-only IPC, dependency direction, plugin model), do-not rules, and verification loop. Co-Authored-By: Agent Signed-off-by: chenjinxiang3 <chenjinxiang3@huawei.com> 🤖 AI[100%] 🔧 Human Fixed[0%] 🧑 Human[0%] 👌 AI Adopted[100%] Co-authored-by: opencode (glm-5.2) <ai@local> Change-Id: Icb8cbc1b93baff2172873158f838b343fde962a9 | 1 个月前 |
| Add AGENTS.md guidance for coding agents in startup_init Add English (AGENTS.md) and Chinese (AGENTS_zh.md) guidance documents for coding agents working in the base/startup/init repository. Covers code map, knowledge routing to subsystem docs, architecture invariants (single-threaded init, socket-only IPC, dependency direction, plugin model), do-not rules, and verification loop. Co-Authored-By: Agent Signed-off-by: chenjinxiang3 <chenjinxiang3@huawei.com> 🤖 AI[100%] 🔧 Human Fixed[0%] 🧑 Human[0%] 👌 AI Adopted[100%] Co-authored-by: opencode (glm-5.2) <ai@local> Change-Id: Icb8cbc1b93baff2172873158f838b343fde962a9 | 1 个月前 |
| reset qiangji second stage code to master Signed-off-by: cat <chenjinxiang3@huawei.com> | 1 年前 |
| fix: modify codeowner Feature or Bugfix:Feature Binary Source: No Signed-off-by: liveery <liangming712@huawei.com> | 5 个月前 |
| update openharmony 1.0.1 | 5 年前 |
| fix: del profile Feature or Bugfix:Bugfix Binary Source: No Signed-off-by: liveery <liangming712@huawei.com> | 1 年前 |
| Description:信息整改 IssueNo:https://gitee.com/openharmony/startup_init/issues/ICPYZ2 Binary Source:No Signed-off-by: songjiawei9 <songjiawei9@h-partners.com> | 1 年前 |
| update README_zh.md. Signed-off-by: cheng_jinsong <chengjinsong2@huawei.com> Signed-off-by: cheng_jinsong <chengjinsong2@huawei.com> | 3 年前 |
| Revert "add white box param" This reverts commit 92b03d092b60c121a97cf3b8fb5b810584dadad2. Signed-off-by: chifan00001 <huangtaiqiu@huawei.com> | 16 天前 |
| Revert "add white box param" This reverts commit 92b03d092b60c121a97cf3b8fb5b810584dadad2. Signed-off-by: chifan00001 <huangtaiqiu@huawei.com> | 16 天前 |