Skip to content

test: add pagefault testing and builtin coverage for pagefault tool - #129

Closed
yuKing123-king wants to merge 1 commit into
DKapture:mainfrom
yuKing123-king:test/pagefault-
Closed

test: add pagefault testing and builtin coverage for pagefault tool#129
yuKing123-king wants to merge 1 commit into
DKapture:mainfrom
yuKing123-king:test/pagefault-

Conversation

@yuKing123-king

@yuKing123-king yuKing123-king commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

对本次 pagefault 工具修改的内容

  1. 补齐 BUILTIN 测试入口

    • 改为通过返回值处理参数解析结果,增强健壮性。
  2. 修复mock存在的问题,并且添加新功能

  • 在 test/mock-data-generator.h 新增了 MockStackCtx,提供 user_ips、kernel_ip,让单测可以给 mock 明确喂用户栈/内核栈
  • 给 bpf_map 增加了 mmap_sz,方便区分“逻辑 map 大小”和实际 mmap 出来的大小,让ringbuf / shared mem 的释放和管理更准确
  • 新增 recalc_map_storage(),统一根据 key_size/value_size/max_entries 重新计算 map->sz
  • 修正以前 bpf_map__set_value_size() 直接改 sz 的错误行为,bpf_map__set_max_entries() 现在也会同步重算
  • 新增 find_map_by_fd(),bpf_map_update_elem()、bpf_map_lookup_elem() 都改成走这个公共逻辑、
  • 新增 stack trace mock 能力,新增fill_mock_stack_trace_from_values()、fill_mock_stack_trace()、bpf_get_stackid()这三个函数,让 mock 能真正支持 BPF_MAP_TYPE_STACK_TRACE
  • 修正 bpf_map_get_info_by_fd(), 以前错误地把 info->max_entries 填成了 map->sz,现在返回真实的 key_size/value_size/max_entries
  • 修正 bpf_object__open_skeleton(),ringbuf map 现在会正确设置 max_entries = RB_MAP_SIZE

@yuKing123-king
yuKing123-king deleted the test/pagefault- branch August 20, 2026 02:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant