From patchwork Sun Jul 21 20:53:52 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hannes Frederic Sowa X-Patchwork-Id: 260543 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 885E92C00D1 for ; Mon, 22 Jul 2013 06:54:17 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756095Ab3GUUxz (ORCPT ); Sun, 21 Jul 2013 16:53:55 -0400 Received: from s15338416.onlinehome-server.info ([87.106.68.36]:59102 "EHLO order.stressinduktion.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756064Ab3GUUxy (ORCPT ); Sun, 21 Jul 2013 16:53:54 -0400 Received: by order.stressinduktion.org (Postfix, from userid 500) id BA9F51A0C20D; Sun, 21 Jul 2013 22:53:52 +0200 (CEST) Date: Sun, 21 Jul 2013 22:53:52 +0200 From: Hannes Frederic Sowa To: "Srivatsa S. Bhat" Cc: netdev@vger.kernel.org, "linux-kernel@vger.kernel.org" Subject: Re: [BUG] ipv6, rawv6_close(): BUG: unable to handle kernel paging request Message-ID: <20130721205352.GB15442@order.stressinduktion.org> Mail-Followup-To: "Srivatsa S. Bhat" , netdev@vger.kernel.org, "linux-kernel@vger.kernel.org" References: <51EC283D.5010208@linux.vnet.ibm.com> Mime-Version: 1.0 Content-Disposition: inline In-Reply-To: <51EC283D.5010208@linux.vnet.ibm.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org On Sun, Jul 21, 2013 at 11:58:13PM +0530, Srivatsa S. Bhat wrote: > I'm seeing this on every boot. > > Version: Latest mainline (commit ea45ea70b) Thanks for the report! Could you try the following patch? --- 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/ipv6/ip6mr.c b/net/ipv6/ip6mr.c index 583e8d4..373906c 100644 --- a/net/ipv6/ip6mr.c +++ b/net/ipv6/ip6mr.c @@ -1601,9 +1601,9 @@ int ip6mr_sk_done(struct sock *sk) struct mr6_table *mrt; rtnl_lock(); + write_lock_bh(&mrt_lock); ip6mr_for_each_table(mrt, net) { if (sk == mrt->mroute6_sk) { - write_lock_bh(&mrt_lock); mrt->mroute6_sk = NULL; net->ipv6.devconf_all->mc_forwarding--; inet6_netconf_notify_devconf(net, @@ -1611,14 +1611,14 @@ int ip6mr_sk_done(struct sock *sk) NETCONFA_IFINDEX_ALL, net->ipv6.devconf_all); write_unlock_bh(&mrt_lock); - mroute_clean_tables(mrt); err = 0; - break; + goto out; } } + write_unlock_bh(&mrt_lock); +out: rtnl_unlock(); - return err; }