On Wed, Jul 17, 2019 at 6:01 AM Joel Fernandes <joel@xxxxxxxxxxxxxxxxx> wrote: I trimmed cc. some emails were bouncing. > > I think allowing one tracepoint and disallowing another is pointless > > from security point of view. Tracing bpf program can do bpf_probe_read > > of anything. > > I think the assumption here is the user controls the program instructions at > runtime, but that's not the case. The BPF program we are loading is not > dynamically generated, it is built at build time and it is loaded from a > secure verified partition, so even though it can do bpf_probe_read, it is > still not something that the user can change. so you're saying that by having a set of signed bpf programs which instructions are known to be non-malicious and allowed set of tracepoints to attach via selinux whitelist, such setup will be safe? Have you considered how mix and match will behave? > And, we are planning to make it > even more secure by making it kernel verify the program at load time as well > (you were on some discussions about that a few months ago). It sounds like api decisions for this sticky raw_tp feature are driven by security choices which are not actually secure. I'm suggesting to avoid bringing up point of security as a reason for this api design, since it's making the opposite effect.