Message ID | 1479842250.8455.452.camel@edumazet-glaptop3.roam.corp.google.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
On Tue, Nov 22, 11:17, Eric Dumazet wrote > -late_initcall_sync(init_default_flow_dissectors); > +core_initcall(init_default_flow_dissectors); Indeed, that fixed it. Feel free to add Tested-by: Andre Noll <maan@tuebingen.mpg.de> Thanks a lot Andre
From: Eric Dumazet <eric.dumazet@gmail.com> Date: Tue, 22 Nov 2016 11:17:30 -0800 > From: Eric Dumazet <edumazet@google.com> > > Andre Noll reported panics after my recent fix (commit 34fad54c2537 > "net: __skb_flow_dissect() must cap its return value") > > After some more headaches, Alexander root caused the problem to > init_default_flow_dissectors() being called too late, in case > a network driver like IGB is not a module and receives DHCP message > very early. > > Fix is to call init_default_flow_dissectors() much earlier, > as it is a core infrastructure and does not depend on another > kernel service. > > Fixes: 06635a35d13d4 ("flow_dissect: use programable dissector in skb_flow_dissect and friends") > Signed-off-by: Eric Dumazet <edumazet@google.com> > Reported-by: Andre Noll <maan@tuebingen.mpg.de> > Diagnosed-by: Alexander Duyck <alexander.h.duyck@intel.com> Applied and queued up for -stable, I'll try to fast-track this.
diff --git a/net/core/flow_dissector.c b/net/core/flow_dissector.c index 69e4463a4b1b..c6d8207ffa7e 100644 --- a/net/core/flow_dissector.c +++ b/net/core/flow_dissector.c @@ -1013,4 +1013,4 @@ static int __init init_default_flow_dissectors(void) return 0; } -late_initcall_sync(init_default_flow_dissectors); +core_initcall(init_default_flow_dissectors);