Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1527858

[PATCH net] flow_dissect: call init_default_flow_dissectors() earlier

From Eric Dumazet <eric.dumazet@gmail.com>
Newsgroups linux.kernel
Subject [PATCH net] flow_dissect: call init_default_flow_dissectors() earlier
Date 2016-11-22 20:20 +0100
Message-ID <sGoLL-2VW-1@gated-at.bofh.it> (permalink)
References (6 earlier) <sGnwl-1Wv-19@gated-at.bofh.it> <sGnG2-2it-13@gated-at.bofh.it> <sGnG2-2it-11@gated-at.bofh.it> <sGnG2-2it-27@gated-at.bofh.it> <sGnZn-2q2-17@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


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>
---
 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);

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Linux 4.4.34 Greg KH <gregkh@linuxfoundation.org> - 2016-11-21 10:30 +0100
  Re: Linux 4.4.34 Greg KH <gregkh@linuxfoundation.org> - 2016-11-22 18:20 +0100
    Re: Linux 4.4.34 Eric Dumazet <edumazet@google.com> - 2016-11-22 18:20 +0100
      Re: Linux 4.4.34 "Duyck, Alexander H" <alexander.h.duyck@intel.com> - 2016-11-22 18:50 +0100
        Re: Linux 4.4.34 Eric Dumazet <edumazet@google.com> - 2016-11-22 18:50 +0100
          Re: Linux 4.4.34 Andre Noll <maan@tuebingen.mpg.de> - 2016-11-22 19:00 +0100
            Re: Linux 4.4.34 Andre Noll <maan@tuebingen.mpg.de> - 2016-11-22 19:10 +0100
              Re: Linux 4.4.34 "Duyck, Alexander H" <alexander.h.duyck@intel.com> - 2016-11-22 19:10 +0100
                Re: Linux 4.4.34 Eric Dumazet <edumazet@google.com> - 2016-11-22 19:20 +0100
                Re: Linux 4.4.34 Andre Noll <maan@tuebingen.mpg.de> - 2016-11-22 19:30 +0100
                [PATCH net] flow_dissect: call init_default_flow_dissectors()  earlier Eric Dumazet <eric.dumazet@gmail.com> - 2016-11-22 20:20 +0100
                Re: [PATCH net] flow_dissect: call init_default_flow_dissectors()  earlier Andre Noll <maan@tuebingen.mpg.de> - 2016-11-22 20:50 +0100
                Re: [PATCH net] flow_dissect: call init_default_flow_dissectors()  earlier David Miller <davem@davemloft.net> - 2016-11-22 20:50 +0100
            Re: Linux 4.4.34 "Duyck, Alexander H" <alexander.h.duyck@intel.com> - 2016-11-22 19:10 +0100
            Re: Linux 4.4.34 Eric Dumazet <edumazet@google.com> - 2016-11-22 19:10 +0100
      Re: Linux 4.4.34 Andre Noll <maan@tuebingen.mpg.de> - 2016-11-22 19:00 +0100
    Re: Linux 4.4.34 Greg KH <gregkh@linuxfoundation.org> - 2016-11-22 18:30 +0100
    Re: Linux 4.4.34 Eric Dumazet <edumazet@google.com> - 2016-11-22 18:30 +0100
    Re: Linux 4.4.34 Andre Noll <maan@tuebingen.mpg.de> - 2016-11-22 19:10 +0100
  Re: Linux 4.4.34 Andre Noll <maan@tuebingen.mpg.de> - 2016-11-22 19:20 +0100

csiph-web