Message ID | CA+v9cxYJtrpUSHWY5Z2R14kZjX1c5nd2yYrvTx2URLJz26d_Tw@mail.gmail.com |
---|---|
State | Not Applicable, archived |
Delegated to: | David Miller |
Headers | show |
On Thu, 21 Jul 2011 16:42:17 +0800 Huajun Li wrote: > Hi Randy and Simon, > I happened to meet the issue too, loading and unloading module of > ip_vs, then loading it again will cause Oops, the root cause may be > ip_vs_dst_notifier is not unregistered. Please try following patch, it > works for me. > > > Signed-off-by: Huajun Li <huajun.li.lee@gmail.com> > --- > net/netfilter/ipvs/ip_vs_ctl.c | 1 + > 1 files changed, 1 insertions(+), 0 deletions(-) > > diff --git a/net/netfilter/ipvs/ip_vs_ctl.c b/net/netfilter/ipvs/ip_vs_ctl.c > index 699c79a..a178cb3 100644 > --- a/net/netfilter/ipvs/ip_vs_ctl.c > +++ b/net/netfilter/ipvs/ip_vs_ctl.c > @@ -3771,6 +3771,7 @@ err_sock: > void ip_vs_control_cleanup(void) > { > EnterFunction(2); > + unregister_netdevice_notifier(&ip_vs_dst_notifier); > ip_vs_genl_unregister(); > nf_unregister_sockopt(&ip_vs_sockopts); > LeaveFunction(2); > -- Yes, this patch or the one here: http://www.spinics.net/lists/lvs-devel/msg02051.html works. Thanks. Reported-by: Randy Dunlap <rdunlap@xenotime.net> Acked-by: Randy Dunlap <rdunlap@xenotime.net> > 2011/7/21 Simon Horman <horms@verge.net.au>: > > On Wed, Jul 20, 2011 at 08:50:19PM -0700, Randy Dunlap wrote: > >> I'm seeing the following Oops in 3.0-rc7 on x86_64, just loading and unloading > >> modules. Any chance this is already fixed? I can test current git, but I > >> wanted to ask first. > >> > >> Looks like it is on the second module load of ip_vs (i.e., > >> modprobe ip_vs; rmmod ip_vs; modprobe ip_vs). > > > > Hi Randy, > > > > I don't believe that this problem has been resolved (or observed before). --- ~Randy *** Remember to use Documentation/SubmitChecklist when testing your code *** -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/net/netfilter/ipvs/ip_vs_ctl.c b/net/netfilter/ipvs/ip_vs_ctl.c index 699c79a..a178cb3 100644 --- a/net/netfilter/ipvs/ip_vs_ctl.c +++ b/net/netfilter/ipvs/ip_vs_ctl.c @@ -3771,6 +3771,7 @@ err_sock: void ip_vs_control_cleanup(void) { EnterFunction(2); + unregister_netdevice_notifier(&ip_vs_dst_notifier); ip_vs_genl_unregister(); nf_unregister_sockopt(&ip_vs_sockopts); LeaveFunction(2);
Hi Randy and Simon, I happened to meet the issue too, loading and unloading module of ip_vs, then loading it again will cause Oops, the root cause may be ip_vs_dst_notifier is not unregistered. Please try following patch, it works for me. Signed-off-by: Huajun Li <huajun.li.lee@gmail.com> --- net/netfilter/ipvs/ip_vs_ctl.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)