[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAOrHB_B7rQyOtoziMVAHADjt_yKcgDJGEccusOAmNfDyMn44tA@mail.gmail.com>
Date: Mon, 22 Jan 2018 21:47:24 -0800
From: Pravin Shelar <pshelar@....org>
To: David Miller <davem@...emloft.net>
Cc: Daniel Axtens <dja@...ens.net>,
Linux Kernel Network Developers <netdev@...r.kernel.org>,
Manish.Chopra@...ium.com, ovs dev <dev@...nvswitch.org>
Subject: Re: [PATCH 0/3] Check gso_size of packets when forwarding
On Mon, Jan 22, 2018 at 12:14 PM, David Miller <davem@...emloft.net> wrote:
> From: Pravin Shelar <pshelar@....org>
> Date: Fri, 19 Jan 2018 13:54:15 -0800
>
>> I agree it is not perfect. But the other proposed patch does not fix
>> the connectivity issue. It only adds log msg in such cases at cost
>> of extra checks/code. Therefore I prefer the easier fix for the
>> issue which also fixes for all cases of packet forwarding rather
>> than just OVS and Bridge.
>
> I really think that something needs to guarantee that device drivers
> will never be given either over-MTU or over-max-GSO-seg-size SKBs.
>
> Otherwise drivers need to add completely stupid checks like making
> sure that SKB lengths do not exceed the maxmimu value that can be
> encoded into descriptors.
>
> What's probably happening often now in such situations is that the
> driver ends up masking the length blindly and ends up sending out a
> truncated packet.
>
> Which frankly is quite bad too.
>
> It doesn't scale to add these checks into every driver, or trying to
> "figure out" which drivers will behave adversely and only add checks
> to those.
>
> The kernel shouldn't pass objects with out-of-range attributes
> to the driver, period.
OK, in that case we could add a check in validate_xmit_skb() as done
by Daniel in a patch posted earlier.
Powered by blists - more mailing lists