4

由于现在在 ebpf 程序中允许有界循环https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git/commit/?id=2589726d12a1b12eaaa93c7f1ea64287e383c7a5 验证程序是否仍然检查如果程序控制流是有向无环图,则第一次通过?

4

1 回答 1

4

是的,它仍然存在,并且在两种情况下拒绝带有后沿的程序:

  • 如果程序是由非特权用户加载的。env->allow_ptr_leaks布尔值表示特权用户。
  • 如果使用 call 执行后沿。只有正常的跳转可以产生有界循环(这并不意味着你不能在有界循环进行 bpf-to-bpf 调用)。
于 2019-09-07T12:14:17.883 回答