From: "Duyck, Alexander H" <alexander.h.duyck@intel.com>
To: "maan@tuebingen.mpg.de" <maan@tuebingen.mpg.de>,
"edumazet@google.com" <edumazet@google.com>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"ast@kernel.org" <ast@kernel.org>,
"stable@vger.kernel.org" <stable@vger.kernel.org>,
"willemb@google.com" <willemb@google.com>,
"gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
"jslaby@suse.cz" <jslaby@suse.cz>,
"davem@davemloft.net" <davem@davemloft.net>,
"yibyang@cisco.com" <yibyang@cisco.com>
Subject: Re: Linux 4.4.34
Date: Tue, 22 Nov 2016 18:08:45 +0000 [thread overview]
Message-ID: <1479838123.681.173.camel@intel.com> (raw)
In-Reply-To: <20161122180605.GE19939@tuebingen.mpg.de>
On Tue, 2016-11-22 at 19:06 +0100, Andre Noll wrote:
> On Tue, Nov 22, 09:56, Eric Dumazet wrote
> >
> > >
> > > >
> > > > @@ -157,6 +157,7 @@ bool __skb_flow_dissect(const struct sk_buff *skb,
> > > > memcpy(key_eth_addrs, ð->h_dest, sizeof(*key_eth_addrs));
> > > > }
> > > >
> > > > + barrier();
> > > > again:
> > > > switch (proto) {
> > > > case htons(ETH_P_IP): {
> > >
> > > This patch on top of v4.4.34 makes no difference: I'm still getting
> > > the panic in eth_type_trans().
> > >
> >
> > What compiler are you using exactly ?
>
> gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3, as shipped with
> Ubuntu-12.04. I've also tried gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3)
> 4.8.4 from Ubuntu-14.04. No difference.
>
> >
> > diff --git a/net/core/flow_dissector.c b/net/core/flow_dissector.c
> > index 69e4463a4b1b..48791f372aa2 100644
> > --- a/net/core/flow_dissector.c
> > +++ b/net/core/flow_dissector.c
> > @@ -551,6 +551,7 @@ bool __skb_flow_dissect(const struct sk_buff *skb,
> >
> > key_control->thoff = (u16)nhoff;
> > out:
> > + barrier();
> > key_basic->n_proto = proto;
> > key_basic->ip_proto = ip_proto;
>
> No luck: Still the same panic.
>
> Andre
Okay I think I have figured it out, but I am not sure what a good
solution is.
I think the problem is the fact that the keys may not be initialized
until init_default_flow_dissectors is called and I am not sure that is
happening before the network interface is trying to do DHCP.
I have to look at the initialization framework to verify if that is the
case. It would make sense why I don't usually see it though since I
usually run igb as a module and that doesn't get loaded until later if
I am not mistaken.
- Alex
next prev parent reply other threads:[~2016-11-22 18:09 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-21 9:28 Linux 4.4.34 Greg KH
2016-11-21 9:28 ` Greg KH
2016-11-22 16:59 ` Andre Noll
2016-11-22 17:06 ` Greg KH
2016-11-22 17:14 ` Eric Dumazet
2016-11-22 17:38 ` Andre Noll
2016-11-22 17:41 ` Duyck, Alexander H
2016-11-22 17:46 ` Eric Dumazet
2016-11-22 17:55 ` Andre Noll
2016-11-22 17:56 ` Eric Dumazet
2016-11-22 18:03 ` Duyck, Alexander H
2016-11-22 18:06 ` Andre Noll
2016-11-22 18:08 ` Duyck, Alexander H [this message]
2016-11-22 18:18 ` Eric Dumazet
2016-11-22 18:22 ` Andre Noll
2016-11-22 19:17 ` [PATCH net] flow_dissect: call init_default_flow_dissectors() earlier Eric Dumazet
2016-11-22 19:44 ` Andre Noll
2016-11-22 19:44 ` David Miller
2016-11-22 17:22 ` Linux 4.4.34 Andre Noll
2016-11-22 17:26 ` Eric Dumazet
2016-11-22 17:29 ` Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1479838123.681.173.camel@intel.com \
--to=alexander.h.duyck@intel.com \
--cc=ast@kernel.org \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=gregkh@linuxfoundation.org \
--cc=jslaby@suse.cz \
--cc=linux-kernel@vger.kernel.org \
--cc=maan@tuebingen.mpg.de \
--cc=stable@vger.kernel.org \
--cc=willemb@google.com \
--cc=yibyang@cisco.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.