From: Michal Kubeček Date: Mon, 9 Sep 2013 19:45:04 +0000 (+0200) Subject: ipv6: don't call fib6_run_gc() until routing is ready X-Git-Tag: v3.12-rc1~53^2~3 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2c861cc65ef4604011a0082e4dcdba2819aa191a;p=pandora-kernel.git ipv6: don't call fib6_run_gc() until routing is ready When loading the ipv6 module, ndisc_init() is called before ip6_route_init(). As the former registers a handler calling fib6_run_gc(), this opens a window to run the garbage collector before necessary data structures are initialized. If a network device is initialized in this window, adding MAC address to it triggers a NETDEV_CHANGEADDR event, leading to a crash in fib6_clean_all(). Take the event handler registration out of ndisc_init() into a separate function ndisc_late_init() and move it after ip6_route_init(). Signed-off-by: Michal Kubecek Signed-off-by: David S. Miller --- Reading git-diff-tree failed