You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 21:04:54