Subject: Re: [PATCH 0/3] Check gso_size of packets when forwarding

From: Stephen Hemminger <[email-masked]>
Date: Mon, 22 Jan 2018 13:31:25 -0800

On Mon, 22 Jan 2018 15:14:53 -0500 (EST)
David Miller <[email-masked]> wrote:

> From: Pravin Shelar <[email-masked]>
> 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.

Agreed. We should make it easier to write non-buggy drivers.