![ebpf:从用户空间发送数据并等待](https://linux22.com/image/15279/ebpf%EF%BC%9A%E4%BB%8E%E7%94%A8%E6%88%B7%E7%A9%BA%E9%97%B4%E5%8F%91%E9%80%81%E6%95%B0%E6%8D%AE%E5%B9%B6%E7%AD%89%E5%BE%85.png)
我正在使用 ebpf 和 bcc 编写 ebpf-lsm 程序。我想阻止已连接的 USB 设备并将其信息发送到用户空间,并且无论我是否绑定该设备,用户都会向我发送信息。
我怎样才能做到这一点?我知道使用 ebpf 映射我们可以从用户空间接收数据,那么我该如何等待呢?换句话说,如何阻止 ebpf 程序直到用户响应?
感谢您的指导!
答案1
对于今天的 BPF 来说这是不可能的;在某些用户空间进程应答之前,您无法阻止程序的执行。
您可能想看看ptrace(2)
和/或seccomp-bpf反而。参见示例将 seccomp 决策推迟到用户空间在 LWN.net 上。