繁体   English   中英

net / core / filter.c和linux / bpf / verifier.c

[英]net/core/filter.c and linux/bpf/verifier.c

如果我最初很了解cBPF验证程序和解释程序都在net/core/fiter.c ,例如sk_run_filter访问https://elixir.bootlin.com/linux/v3.2/source/net/core/filter.c# L112只是转换cBPF指令,将它们应用到仿真寄存器上,然后直接应用到sk_buff上。 sk_chk_filter检查指令是否全部合法。

目前,我已经看到filter.c中仍然有一个bpf_check_classic函数来替代旧的sk_chk_filter 检查之后,尝试将程序JIT,如果不可能的话,下一步是在eBPF中转换cBPF。

问题:

1)在最后一个net/core/filter.c运行jitted / converted cbpf过滤器的调用实际上在哪里?

2)将cBPF程序作为eBPF程序执行的函数调用顺序是什么?

据我所知,cBPF程序仅用于seccomp-bpf和套接字过滤器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM