From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932476AbVHNNTF (ORCPT ); Sun, 14 Aug 2005 09:19:05 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S932519AbVHNNTE (ORCPT ); Sun, 14 Aug 2005 09:19:04 -0400 Received: from [62.206.217.67] ([62.206.217.67]:3045 "EHLO kaber.coreworks.de") by vger.kernel.org with ESMTP id S932476AbVHNNTE (ORCPT ); Sun, 14 Aug 2005 09:19:04 -0400 Message-ID: <42FF44B8.9000007@trash.net> Date: Sun, 14 Aug 2005 15:18:48 +0200 From: Patrick McHardy User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.7.10) Gecko/20050803 Debian/1.7.10-1 X-Accept-Language: en MIME-Version: 1.0 To: "Rafael J. Wysocki" CC: Andrew Morton , LKML , netfilter Development Mailinglist , Harald Welte Subject: Re: 2.6.13-rc5-mm1: BUG: rwlock recursion on CPU#0 References: <200508141448.36562.rjw@sisk.pl> In-Reply-To: <200508141448.36562.rjw@sisk.pl> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Rafael J. Wysocki wrote: > I've got the following BUG on Asus L5D (x86-64) with the 2.6.13-rc5-mm1 kernel: > > BUG: rwlock recursion on CPU#0, nscd/3668, ffffffff8817d4a0 > > Call Trace:{add_preempt_count+105} {rwlock_bug+114} > {_raw_write_lock+62} {_write_lock_bh+40} > {:ip_conntrack:destroy_conntrack+196} > {:ip_conntrack:__ip_ct_event_cache_init+165} > {:ip_conntrack:ip_ct_refresh_acct+249} > {:ip_conntrack:udp_packet+47} {:ip_conntrack:ip_conntrack_in+1059} > {:ip_conntrack:ip_conntrack_local+76} > {nf_iterate+92} {dst_output+0} > {nf_hook_slow+142} {dst_output+0} > {ip_push_pending_frames+895} {lock_sock+201} > {udp_push_pending_frames+574} {udp_sendmsg+1703} > {current_fs_time+78} {file_read_actor+60} > {update_atime+76} {do_generic_mapping_read+1194} > {inet_sendmsg+86} {sock_sendmsg+271} > {add_preempt_count+105} {free_hot_cold_page+270} > {free_hot_page+11} {add_preempt_count+105} > {autoremove_wake_function+0} {sockfd_lookup+28} > {sys_sendto+260} {do_sys_poll+851} > {__pollwait+0} {system_call+126} I fear my event cache fixes are responsible for this, we must not cache events while holding a lock anymore because we might need to deliver old cached events. I'll try to come up with a fix later.