On Fri, Jun 4, 2021 at 8:08 PM Alexei Starovoitov
[off-list ref] wrote:
On Fri, Jun 4, 2021 at 4:34 PM Paul Moore [off-list ref] wrote:
quoted
quoted
Again, the problem is not limited to BPF at all. kprobes is doing register-
time hooks which are equivalent to the one of BPF. Anything in run-time
trying to prevent probe_read_kernel by kprobes or BPF is broken by design.
Not being an expert on kprobes I can't really comment on that, but
right now I'm focused on trying to make things work for the BPF
helpers. I suspect that if we can get the SELinux lockdown
implementation working properly for BPF the solution for kprobes won't
be far off.
Paul,
Hi Alexei,
Both kprobe and bpf can call probe_read_kernel==copy_from_kernel_nofault
from all contexts.
Including NMI.
Thanks, that is helpful. In hindsight it should have been obvious
that kprobe/BPF would offer to insert code into the NMI handlers, but
I don't recall it earlier in the discussion, it's possible I simply
missed the mention.
Most of audit_log_* is not acceptable.
Just removing a wakeup is not solving anything.
That's not really fair now is it? Removing the wakeups in
audit_log_start() and audit_log_end() does solve some problems,
although not all of them (i.e. the NMI problem being the 800lb
gorilla). Because of the NMI case we're not going to solve the
LSM/audit case anytime soon so it looks like we are going to have to
fall back to the patch Daniel proposed.
Acked-by: Paul Moore <paul@paul-moore.com>
--
paul moore
www.paul-moore.com