[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMEtUuwPbX5yczeUCJ1rq+YLXcenWJggxZCei2HpSBQ-ps68VQ@mail.gmail.com>
Date: Tue, 2 Sep 2014 15:08:51 -0700
From: Alexei Starovoitov <ast@...mgrid.com>
To: Hannes Frederic Sowa <hannes@...essinduktion.org>
Cc: Eric Dumazet <eric.dumazet@...il.com>,
Network Development <netdev@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>,
Brad Spengler <spender@...ecurity.net>,
Daniel Borkmann <dborkman@...hat.com>,
Kees Cook <keescook@...omium.org>
Subject: Re: [PATCH net-next v2] net: bpf: make eBPF interpreter images read-only
On Tue, Sep 2, 2014 at 2:43 PM, Hannes Frederic Sowa
<hannes@...essinduktion.org> wrote:
> On Tue, Sep 2, 2014, at 23:40, Eric Dumazet wrote:
>> On Tue, 2014-09-02 at 14:31 -0700, Alexei Starovoitov wrote:
>>
>> > > +static inline void bpf_prog_unlock_ro(struct bpf_prog *fp)
>> > > +{
>> > > + set_memory_rw((unsigned long)fp, fp->pages);
>> >
>> > why rw is needed?
>> > since fp is allocated with vmalloc, vfree doesn't need
>> > to touch the pages to free them, no?
>>
>> That assumes that vmalloc() do not have any debugging features, like
>> poisoning content before freeing, to catch some use after free.
>>
>> Lets be clean and safe, and give back same memory permission we had
>> after vmalloc()
>
> Yes, I agree. I just went down the kmemleak codepaths and we certainly
> don't want to cause issues in there if the implementation changes one
> day.
agree.
I asked, because skipping set_memory_rw() would have
removed the need for 'struct bpf_work_struct' and complexity
around it.
Simple testing looks good, so:
Acked-by: Alexei Starovoitov <ast@...mgrid.com>
will rebase with all of my stuff and do some more tests.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists