文件最后提交记录最后更新时间
自动选取可用网卡 Co-authored-by: zhangyunqi<zhangyunqi5@huawei.com> # message auto-generated for no-merge-commit merge: !368 merge fix/auto-select-network-interface into master 自动选取可用网卡 Created-by: zhangyunqi Commit-by: zhangyunqi Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 自动选取可用网卡 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> https://gitcode.com/cann/shmem/issues/268 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 不指定环境变量自动搜索 ![image.png](https://raw.gitcode.com/user-images/assets/8546182/f0feac70-0c37-4f36-84ed-1ed1c66f282b/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/8546182/078491d8-3406-4d4d-b527-c8693f3f1a40/image.png 'image.png') 指定环境变量 ![image.png](https://raw.gitcode.com/user-images/assets/8546182/748ef36c-986c-431d-a48a-c65cb6a5d8fd/image.png 'image.png') 无可用网卡 ![image.png](https://raw.gitcode.com/user-images/assets/8546182/58f3f83d-bc0b-4aac-a337-da8dec56cf32/image.png 'image.png') ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/shmem!3689 小时前
cleancode整改v1 Co-authored-by: zhangyunqi<zhangyunqi5@huawei.com> # message auto-generated for no-merge-commit merge: !215 merge sscleancode into master cleancode整改v1 Created-by: zhangyunqi Commit-by: zhangyunqi Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> cleancode ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/shmem/issues/149 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:cleancode See merge request: cann/shmem!2152 个月前
feat(issue-280): [Task|任务]: namespace 整改 Co-authored-by: nino888<yinqiran1@huawei.com> # message auto-generated for no-merge-commit merge: !387 merge autodev/issue-280 into master feat(issue-280): [Task|任务]: namespace 整改 Created-by: nino888 Commit-by: nino888 Merged-by: cann-robot Description: ## Summary - Implement issue #280: [Task|任务]: namespace 整改 - Source issue: https://gitcode.com/cann/shmem/issues/280 - Branch: autodev/issue-280 (nino888/shmem -> cann/shmem) ## Changes - examples/dispatch_gmm_combine/include/dispatch_gmm_combine.h - examples/dispatch_gmm_combine/include/moe_init_routing_quant_v2/moe_init_routing_quant_v2.h - examples/dispatch_gmm_combine/include/moe_init_routing_quant_v2/moe_v2_common.h - examples/dispatch_gmm_combine/include/moe_init_routing_quant_v2/moe_v2_expert_token_out.h - examples/dispatch_gmm_combine/include/moe_init_routing_quant_v2/moe_v2_fullload_dynamic_quant.h - examples/dispatch_gmm_combine/include/moe_init_routing_quant_v2/moe_v2_fullload_quant.h - examples/dispatch_gmm_combine/include/moe_init_routing_quant_v2/moe_v2_fullload_quant_base.h - examples/dispatch_gmm_combine/include/moe_init_routing_quant_v2/moe_v2_gather_dynamic_quant.h - examples/dispatch_gmm_combine/include/moe_init_routing_quant_v2/moe_v2_gather_quant.h - examples/dispatch_gmm_combine/include/moe_init_routing_quant_v2/moe_v2_mrgsort.h - examples/dispatch_gmm_combine/include/moe_init_routing_quant_v2/moe_v2_mrgsort_out.h - examples/dispatch_gmm_combine/include/moe_init_routing_quant_v2/moe_v2_sort_base.h - examples/dispatch_gmm_combine/include/moe_init_routing_quant_v2/moe_v2_sort_multi_core.h - examples/dispatch_gmm_combine/include/moe_init_routing_quant_v2/moe_v2_sort_one_core.h - examples/dispatch_gmm_combine/include/moe_init_routing_quant_v2/moe_v2_src_to_dst_and_gather.h - examples/dispatch_gmm_combine/include/moe_init_routing_quant_v2/moe_v2_src_to_dst_op.h - examples/dispatch_gmm_combine/include/moe_init_routing_quant_v2/moe_v2_src_to_dst_with_capacity.h - examples/dispatch_gmm_combine/include/moe_token_unpermute.h - examples/dispatch_gmm_combine/include/select_helper.h - examples/dispatch_gmm_combine/include/sync_util.h - examples/dynamic_tiling/impl/kernel/allgather_matmul.h - examples/dynamic_tiling/impl/kernel/allgather_matmul_padding.h - examples/dynamic_tiling/impl/kernel/allgather_matmul_with_gather_result.h - examples/dynamic_tiling/impl/kernel/matmul_allreduce.h - examples/dynamic_tiling/impl/kernel/matmul_reduce_scatter.h - examples/dynamic_tiling/impl/kernel/matmul_reduce_scatter_padding_a.h - examples/dynamic_tiling/impl/kernel/matmul_reduce_scatter_padding_ab.h - examples/dynamic_tiling/impl/kernel/matmul_reduce_scatter_padding_b.h - examples/matmul_allreduce/epilogue/block/epilogue_allreduce.hpp - src/device/gm2gm/shmemi_device_rma.cpp - src/host/bootstrap/shmemi_bootstrap_config_store.cpp - src/host/data_plane/shmem_host_rma.cpp - src/host/entity/mem_entity_default.cpp - src/host/entity/mem_entity_entry.cpp - src/host/init/shmem_init.cpp - src/host/mem/heap/hybm_vmm_based_segment.cpp - src/host/mem/shmem_rma.cpp - src/host/team/shmem_team.cpp - src/host/transport/transport_manager.cpp ## Local Validation - echo 'TODO: replace with real tests, e.g. pytest -q': passed See merge request: cann/shmem!38710 小时前
[Feature] Multi Instance 1.0 Co-authored-by: zhu-wangyi<zhuwangyi@huawei.com> # message auto-generated for no-merge-commit merge: !155 merge feature/multi_instance_master into master SHMEM多实例特性添加 Created-by: zhu-wangyi Commit-by: zhu-wangyi Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 新增init uid多实例测试结果 ![image.png](https://raw.gitcode.com/user-images/assets/8546182/59500283-8a43-4bfb-bf3f-4dc2b9878954/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/8546182/9cb90e7f-af71-4721-a7b6-fc1b01f8f41e/image.png 'image.png') h2d能力测试结果 ![image.png](https://raw.gitcode.com/user-images/assets/8546182/b5ea6823-2a08-4f95-bdca-d9b0990686a3/image.png 'image.png') h2d多实例测试结果 ![image.png](https://raw.gitcode.com/user-images/assets/8546182/99ec9b9f-d0f9-44ba-b1c0-efe762f0146c/image.png 'image.png') python_extension测试结果 ![image.png](https://raw.gitcode.com/user-images/assets/8546182/b81dadcd-c7e6-4d65-aad3-0c7b2f77570c/image.png 'image.png') ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/shmem!1552 个月前
Fix #231: Complete security validation with zero-overhead device checks Co-authored-by: suqwe<sujianjia@huawei.com> # message auto-generated for no-merge-commit merge: !306 merge fix-issue-231-port-validation into master Fix #231: Complete security validation with zero-overhead device checks Created-by: suqwe Commit-by: suqwe Merged-by: cann-robot Description: #描述 ## Problems Fixed (6 Security Issues) This PR addresses all 6 security vulnerabilities reported in Issue #231. ### ✅ Problem 0 & 1: Port Parsing Validation (CWE-197) **Files**: - src/host/bootstrap/shmemi_bootstrap_uid.cpp - src/host/init/shmem_init.cpp **Issue**: std::stoi() result directly cast to uint16_t without range check - Truncation: 65536→0, -1→65535 - Security impact: unexpected port binding **Fix**: Parse to int, validate [0,65535], error logging, safe cast --- ### ✅ Problem 2: ASCEND_HOME_PATH Library Loading (CWE-426) **File**: src/host/entity/mem_entity_entry.cpp **Issue**: Environment variable controls library loading path - No owner/permission validation - Attackers can load malicious .so **Fix**: Added IsOwnedByCurrentUserOrRoot + HasSecurePermissions checks --- ### ✅ Problem 3: SHMEM_LOG_PATH Log Directory (CWE-73) **File**: src/host/utils/log/shmemi_logger.cpp **Issue**: Environment variable controls log directory - No realpath/owner/permission validation - Attackers can redirect logs to arbitrary paths **Fix**: Added Realpath + owner/permission checks with fallback to /tmp/shmem/log --- ### ✅ Problem 4: GetFileSize() ftell() Error (CWE-197) **File**: src/host/utils/shmemi_file_util.h **Issue**: ftell() returns -1L on failure, cast to SIZE_MAX - Wrong file size propagates downstream **Fix**: Check ftell() == -1L, return 0 on error --- ### ✅ Problem 5: sysconf() Truncation + VLA Overflow (CWE-119) **File**: src/host/utils/log/shmemi_logger.cpp **Issue**: - int truncates sysconf() long result - VLA char buffer[bufsize] non-standard - negative bufsize in memset causes overflow **Fix**: Use long, validate range, replace VLA with std::vector --- ### ✅ Problem 6: PE Array Access (CWE-129) **File**: src/device/gm2gm/engine/shmem_device_rdma.hpp **Issue**: pe parameter unvalidated, causes OOB read - pe < 0 or pe >= npes causes memory corruption **Fix**: Device不进行校验 --- ## 🔐 New Security Functions Added 3 reusable validation functions: 1. **IsOwnedByCurrentUserOrRoot(path)** - Check if path owner is current user or root - Prevent loading from untrusted paths 2. **HasSecurePermissions(path)** - Check no write permission for group/others - Prevent tampering with files --- ## 🚀 Device Performance Optimization **Zero-overhead design**: Device不进行校验 --- ## ✅ Testing Results ✅ Port validation: [0,65535] accepted, out-of-range rejected ✅ Path owner: current user/root accepted, others rejected ✅ Path permissions: secure accepted, insecure rejected ✅ ftell() error: returns 0 instead of SIZE_MAX ✅ sysconf() range: validates bufsize <= 1MB --- Fixes #231 See merge request: cann/shmem!30615 天前