[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CADvbK_e+EntdONqnVEEDK+gqzcJHoy2gu5syoYznjaM22zKMCQ@mail.gmail.com>
Date: Thu, 17 Aug 2017 23:24:00 +1200
From: Xin Long <lucien.xin@...il.com>
To: Pablo Neira Ayuso <pablo@...filter.org>
Cc: Cong Wang <xiyou.wangcong@...il.com>,
network dev <netdev@...r.kernel.org>,
David Miller <davem@...emloft.net>,
netfilter-devel@...r.kernel.org,
Jamal Hadi Salim <jhs@...atatu.com>
Subject: Re: [PATCH net] net: sched: fix NULL pointer dereference when action
calls some targets
On Thu, Aug 17, 2017 at 10:33 PM, Pablo Neira Ayuso <pablo@...filter.org> wrote:
> On Thu, Aug 17, 2017 at 12:02:20PM +0200, Pablo Neira Ayuso wrote:
>> On Wed, Aug 16, 2017 at 08:39:44PM +1200, Xin Long wrote:
>> > On Wed, Aug 9, 2017 at 7:33 AM, Cong Wang <xiyou.wangcong@...il.com> wrote:
>> > > On Mon, Aug 7, 2017 at 7:33 PM, Xin Long <lucien.xin@...il.com> wrote:
>> > >> On Tue, Aug 8, 2017 at 9:15 AM, Cong Wang <xiyou.wangcong@...il.com> wrote:
>> > >>> This looks like a completely API burden?
>> > >> netfilter xt targets are not really compatible with netsched action.
>> > >> I've got to say, the patch is just a way to make checkentry return
>> > >> false and avoid panic. like [1] said
>> > >
>> > > I don't doubt you fix a crash, I am thinking if we can
>> > > "fix" the API instead of fixing the caller.
>> > Hi, Cong,
>> >
>> > For now, I don't think it's possible to change APIs or some of their targets
>> > for the panic caused by action xt calling.
>> >
>> > The common way should be fixed in net_sched side.
>> >
>> > Given that the issue is very easy to triggered,
>> > let's wait for netfilter's replies for another few days,
>> > otherwise I will repost the fix, agree ?
>>
>> Please, post the workaround so the kernel doesn't crash anymore.
>>
>> This is going to be very hard to fix, it's broken since the very
>> beginning...
>
> Wait a second, you could rename par->nft_compat to par->no_entry. From
> net/sched/ you can set this to 1, so the entry checks are ignored.
>
> I'm refering to patch 55917a21d0cc0
par->nft_compat wasn't used to ignore the entry checks, if we rename it
as no_entry, some other targets still needs to update. like the ones in
this patch's changelog:
ECN: ecn_tg_check()
TPROXY: tproxy_tg4_check()
which means these two checks will be ignored for nft as well, that is
not what we want.
As nft has e4.ip.proto and e4.ip.invflags being set which net/sched
gets nothing. they are still different.
Powered by blists - more mailing lists