From patchwork Tue Nov 22 19:17:30 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eric Dumazet X-Patchwork-Id: 697891 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3tNZx52J7Sz9sXx for ; Wed, 23 Nov 2016 06:17:45 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="UrGEnUWt"; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932642AbcKVTRe (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 Received: by mail-pf0-f194.google.com with SMTP id i88so1867526pfk.2; Tue, 22 Nov 2016 11:17:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:subject:from:to:cc:date:in-reply-to:references :mime-version:content-transfer-encoding; bh=Z+kTqW4KV2tF6k0D9hUzqnomF32O1s2zTMn7z9/cc2I=; b=UrGEnUWt73KSB+FUwGy+CUGr47Zu6nmNwnplkG3yyrJsUjcXJl9B06OxwxnQInzfDx uNgM6ZvJ4NjvkNaaNDyY8i5psa5uvL9ILHvV4Lq4X34yG3qQ9YIqH+mJvpklQC9RJgX1 GmjbLyc+iL8zKDYyfOKiL5yQPHsLaU6JlQ7mY82+ludlibQK1ku7giHv9kUePHU9QS/d XuGFJ/fB3y/RivuWoGRObY7bhMFz+OpdIFSR96a7vnoonmtRGggmeyVbPASsLcpUclGi dpmnAMMpzntMAbPTHrDtpLqEPXILR6d6bIFC8HHnzSrpoSjoVFwJfSK9OxVykFyH0WZ5 13fQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:mime-version:content-transfer-encoding; bh=Z+kTqW4KV2tF6k0D9hUzqnomF32O1s2zTMn7z9/cc2I=; b=PAKMbl4yqj4z2f3OIc4aK2wnmOCfGJSErp9zdcI5pJAb3+Bjex+WgxErKsYSayf73T 1Y2dXkThID1/SsFrm2ej4+88rlFiKHz+poLEFsKtlZa6lDYrDGXeqGBjRWQzFpoBvo8y aTZece9G50tiNMFicZu7VOvzsepdZTrB4n0x9H0qNE8tEXurUcvz9OJJeKB2jL4bdbd4 v06LT+ZuiRiJM4j32ieLe6j11W8x7b5WF2dbzHKr+2NYRr+Axwm9I8MUDXHHm1JdMQMe exLn5W7EuY3AdeSmPUckOX+RY5d/DnbCWmu4QS5Bq5t/CU3ZVBXn9dkc5lGwVtJtOagz FEZQ== X-Gm-Message-State: AKaTC00vEDuMePJ1DiE2/wcTJqhyeQ3t4c9q5kO+5S43ZRV+qPgzm2qkkPYWeCB4R06QcA== X-Received: by 10.84.143.1 with SMTP id 1mr2692446ply.86.1479842252199; Tue, 22 Nov 2016 11:17:32 -0800 (PST) Received: from ?IPv6:2620:0:1000:1704:c484:b659:d2d9:9604? ([2620:0:1000:1704:c484:b659:d2d9:9604]) by smtp.googlemail.com with ESMTPSA id s4sm40967107pfb.55.2016.11.22.11.17.31 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 22 Nov 2016 11:17:31 -0800 (PST) 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> X-Mailer: Evolution 3.10.4-0ubuntu2 Mime-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@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 Tested-by: Andre Noll --- 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);