关于bpftool prog detach卸载eBPF程序的疑问与排查
关于
bpftool prog detach的几个疑问 我正在尝试理解bpftool prog detach的工作机制,为此编写了一个简单的eBPF程序做实验。运行bpftool prog show name sys_exit得到如下输出:
81: tracing name sys_exit tag 4307a8383e89d281 gpl loaded_at 2025-06-11T10:58:58-0700 uid 0 xlated 272B jited 176B memlock 4096B map_ids 13 btf_id 102 pids test-project(3018)
执行bpftool prog detach name sys_exit tracepoint syscalls::sys_exit时,返回Error: invalid attach/detach type。查看bpftool源码后发现,似乎只有以下几种attach类型的程序支持detach操作,想确认这个理解是否正确?如果正确,为什么其他类型不支持?
static const bool attach_types[] = { [BPF_SK_SKB_STREAM_PARSER] = true, [BPF_SK_SKB_STREAM_VERDICT] = true, [BPF_SK_SKB_VERDICT] = true, [BPF_SK_MSG_VERDICT] = true, [BPF_FLOW_DISSECTOR] = true, [__MAX_BPF_ATTACH_TYPE] = false, };
另外,我原本以为bpftool prog detach是将eBPF程序从挂载点卸载,但源码中的错误信息显示该操作仅从map中卸载程序,想请人帮忙确认这一点。
内容的提问来源于stack exchange,提问作者cooldude
相关产品推荐
相关产品推荐

