From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932810AbcKVTRe (ORCPT ); Tue, 22 Nov 2016 14:17:34 -0500 Received: from mail-pf0-f194.google.com ([209.85.192.194]:35440 "EHLO mail-pf0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755832AbcKVTRc (ORCPT ); Tue, 22 Nov 2016 14:17:32 -0500 Message-ID: <1479842250.8455.452.camel@edumazet-glaptop3.roam.corp.google.com> Subject: [PATCH net] flow_dissect: call init_default_flow_dissectors() earlier From: Eric Dumazet To: Andre Noll , Jiri Pirko Cc: "Duyck, Alexander H" , "edumazet@google.com" , "linux-kernel@vger.kernel.org" , "ast@kernel.org" , "willemb@google.com" , "gregkh@linuxfoundation.org" , "jslaby@suse.cz" , "davem@davemloft.net" , "yibyang@cisco.com" , netdev Date: Tue, 22 Nov 2016 11:17:30 -0800 In-Reply-To: <20161122182258.GF19939@tuebingen.mpg.de> References: <20161121092855.GA20976@kroah.com> <20161122165912.GA19939@tuebingen.mpg.de> <20161122170654.GA20022@kroah.com> <1479836511.681.165.camel@intel.com> <20161122175504.GD19939@tuebingen.mpg.de> <20161122180605.GE19939@tuebingen.mpg.de> <1479838123.681.173.camel@intel.com> <20161122182258.GF19939@tuebingen.mpg.de> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.10.4-0ubuntu2 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Eric Dumazet 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 Reported-by: Andre Noll Diagnosed-by: Alexander Duyck --- net/core/flow_dissector.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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);