On Wed, Sep 9, 2015 at 9:52 AM, Alexei Starovoitov <alexei.starovoi...@gmail.com> wrote: > On Wed, Sep 09, 2015 at 09:37:51AM -0700, Kees Cook wrote: >> On Wed, Sep 9, 2015 at 9:09 AM, Daniel Borkmann <dan...@iogearbox.net> wrote: >> > On 09/09/2015 06:07 PM, Alexei Starovoitov wrote: >> >> >> >> On Wed, Sep 09, 2015 at 09:50:35AM -0600, Tycho Andersen wrote: >> > >> > [...] >> >>> >> >>> Thoughts? >> >> >> >> >> >> Please do not add any per-instruction hacks. None of them are >> >> necessary. Classic had to do extra ugly checks in seccomp only >> >> because verifier wasn't flexible enough. >> >> If you don't want to see any BPF_CALL in seccomp, just have >> >> empty get_func_proto() callback for BPF_PROG_TYPE_SECCOMP >> >> and verifier will reject all calls. >> >> Currently we have only two non-generic instrucitons >> >> LD_ABS and LD_IND that are avaialable for sockets/TC only, >> >> because these are legacy instructions and we had to make >> >> exceptions for them. >> > >> > Yep, +1. >> >> Hrmpf. This adds to the cognitive load for accepting this patch >> series. :P Now I have to convince myself that there is no additional >> exposure to seccomp by using the entire set of eBPF instructions. >> While I'm pretty sure it'll be fine, I really don't want to risk being >> wrong and opening a hole here. I will spend some time looking at the >> new eBPF instructions... > > note, as was discussed many times before, there is no pointer leak > prevention pass yet, so eBPF is root only. > Once the pass is complete it will prevent passing addresses to > functions, storing them in maps and returning from the program.
Tycho, are you building new eBPF filters as the root user and then attaching them later? I was imagining you were going to need this entirely as non-root. -Kees -- Kees Cook Chrome OS Security -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html