From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Miller Subject: Re: [PATCH] xen: netfront: hold RTNL when updating features. Date: Wed, 25 May 2011 17:57:12 -0400 (EDT) Message-ID: <20110525.175712.1633885752219342856.davem@davemloft.net> References: <1306310162-5627-1-git-send-email-ian.campbell@citrix.com> Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1306310162-5627-1-git-send-email-ian.campbell@citrix.com> Sender: netdev-owner@vger.kernel.org To: ian.campbell@citrix.com Cc: xen-devel@lists.xensource.com, netdev@vger.kernel.org List-Id: xen-devel@lists.xenproject.org From: Ian Campbell Date: Wed, 25 May 2011 08:56:02 +0100 > Konrad reports: > [ 0.930811] RTNL: assertion failed at /home/konrad/ssd/linux/net/core/dev.c (5258) > [ 0.930821] Pid: 22, comm: xenwatch Not tainted 2.6.39-05193-gd762f43 #1 > [ 0.930825] Call Trace: > [ 0.930834] [] __netdev_update_features+0xae/0xe0 > [ 0.930840] [] netdev_update_features+0x11/0x30 > [ 0.930847] [] netback_changed+0x4e5/0x800 [xen_netfront] > [ 0.930854] [] xenbus_otherend_changed+0xa8/0xb0 > [ 0.930860] [] ? _raw_spin_unlock_irqrestore+0x19/0x20 > [ 0.930866] [] backend_changed+0xe/0x10 > [ 0.930871] [] xenwatch_thread+0xba/0x180 > [ 0.930876] [] ? wake_up_bit+0x40/0x40 > [ 0.930881] [] ? split+0xf0/0xf0 > [ 0.930886] [] kthread+0x96/0xa0 > [ 0.930891] [] kernel_thread_helper+0x4/0x10 > [ 0.930896] [] ? int_ret_from_sys_call+0x7/0x1b > [ 0.930901] [] ? retint_restore_args+0x5/0x6 > [ 0.930906] [] ? gs_change+0x13/0x13 > > This update happens in xenbus watch callback context and hence does not already > hold the rtnl. Take the lock as necessary. > > Signed-off-by: Ian Campbell > Tested-by: Konrad Rzeszutek Wilk Applied.