[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1479836511.681.165.camel@intel.com>
Date: Tue, 22 Nov 2016 17:41:53 +0000
From: "Duyck, Alexander H" <alexander.h.duyck@...el.com>
To: "gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
"edumazet@...gle.com" <edumazet@...gle.com>
CC: "maan@...bingen.mpg.de" <maan@...bingen.mpg.de>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"ast@...nel.org" <ast@...nel.org>,
"stable@...r.kernel.org" <stable@...r.kernel.org>,
"willemb@...gle.com" <willemb@...gle.com>,
"jslaby@...e.cz" <jslaby@...e.cz>,
"davem@...emloft.net" <davem@...emloft.net>,
"yibyang@...co.com" <yibyang@...co.com>
Subject: Re: Linux 4.4.34
On Tue, 2016-11-22 at 09:14 -0800, Eric Dumazet wrote:
> On Tue, Nov 22, 2016 at 9:06 AM, Greg KH <gregkh@...uxfoundation.org> wrote:
> >
> > On Tue, Nov 22, 2016 at 05:59:12PM +0100, Andre Noll wrote:
> > >
> > > On Mon, Nov 21, 10:28, Greg KH wrote
> > > >
> > > > I'm announcing the release of the 4.4.34 kernel.
> > > >
> > > > All users of the 4.4 kernel series must upgrade.
> > >
> > > This update broke PXE boot on our 4-way AMD boxes. The kernel panics in
> > > eth_type_trans(), presumably during kernel-level IP autoconfiguration,
> > > see [1]. Bisection points me at 5c67f947 (net: __skb_flow_dissect()
> > > must cap its return value). And indeed, reverting this commit fixes
> > > the problem for me.
> > >
> > > Investigation showed that the real problem is not the change in the
> > > above commit per se (i.e., capping ->thoff) but the fact that in the
> > > success case, where we jump to the "out_good" label, ->thoff is now
> > > set *after* ->n_proto and ->ip_proto. I fail to see how order matters
> > > here, but it clearly does, since the crash is 100% reproducible,
> > > and is fixed by the commit below (on top of v4.4.34).
> > >
> > > Please consider applying something like the patch below for mainline
> > > and -stable.
> >
> > If this issue is also the same for Linus's tree, we should cc: netdev so
> > that the patch can get into there, right?
> >
> > thanks,
> >
> > greg k-h
>
> We definitely want to fix the real bug, not working around it.
>
> Seems an aliasing problem, key_control and key_basic might point to
> adjacent memory
> and a barrier() would solve the issue as well.
>
> Adding a test in fast path looks overkill to me.
>
> Thanks.
I was wondering if we shouldn't just cap all cases?
It seems like this could potentially return a value greater than skb-
>len in the "good" case since things like IP header length isn't
validated other then making sure it meets the minimum value, and if
there isn't a recognized L4 header after that we could return that as a
final value.
- Alex
Powered by blists - more mailing lists