From: David Miller <davem@davemloft.net>
To: rjw@sisk.pl
Cc: linux-kernel@vger.kernel.org, kernel-testers@vger.kernel.org,
maciej.rutecki@gmail.com, florian@mickler.org,
Knut_Petersen@t-online.de
Subject: Re: [Bug #28052] [BUG] 2.6.38-rc2: Circular Locking Dependency
Date: Sun, 13 Feb 2011 10:21:24 -0800 (PST) [thread overview]
Message-ID: <20110213.102124.258125070.davem@davemloft.net> (raw)
In-Reply-To: <8H3lez1sawF.A.OqH.3AxVNB@chimera>
From: "Rafael J. Wysocki" <rjw@sisk.pl>
Date: Sun, 13 Feb 2011 00:05:18 +0100 (CET)
> Bug-Entry : http://bugzilla.kernel.org/show_bug.cgi?id=28052
> Subject : [BUG] 2.6.38-rc2: Circular Locking Dependency
> Submitter : Knut Petersen <Knut_Petersen@t-online.de>
> Date : 2011-01-24 9:25 (20 days old)
> Message-ID : <4D3D45A3.7040809@t-online.de>
> References : http://marc.info/?l=linux-kernel&m=129586118515443&w=2
Fixed by:
commit 8d3bdbd55a7e2a3f2c148a4830aa26dd682b21c4
Author: David S. Miller <davem@davemloft.net>
Date: Tue Feb 8 15:02:50 2011 -0800
net: Fix lockdep regression caused by initializing netdev queues too early.
In commit aa9421041128abb4d269ee1dc502ff65fb3b7d69 ("net: init ingress
queue") we moved the allocation and lock initialization of the queues
into alloc_netdev_mq() since register_netdevice() is way too late.
The problem is that dev->type is not setup until the setup()
callback is invoked by alloc_netdev_mq(), and the dev->type is
what determines the lockdep class to use for the locks in the
queues.
Fix this by doing the queue allocation after the setup() callback
runs.
This is safe because the setup() callback is not allowed to make any
state changes that need to be undone on error (memory allocations,
etc.). It may, however, make state changes that are undone by
free_netdev() (such as netif_napi_add(), which is done by the
ipoib driver's setup routine).
The previous code also leaked a reference to the &init_net namespace
object on RX/TX queue allocation failures.
Signed-off-by: David S. Miller <davem@davemloft.net>
next prev parent reply other threads:[~2011-02-13 18:21 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-12 22:57 2.6.38-rc4-git5: Reported regressions from 2.6.37 Rafael J. Wysocki
2011-02-12 22:57 ` [Bug #27022] [REPORT] BUG: spinlock recursion on CPU#0, init/1 Rafael J. Wysocki
2011-02-12 23:05 ` [Bug #27762] Brightness Adjustment on Toshiba nb305 Netbooks is non-functional Rafael J. Wysocki
2011-02-20 0:40 ` John Mesmon
[not found] ` <AANLkTinfAVyRupWqA7fJFO3TZe8X8w5UVtiFxzFTPYj5-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-02-20 10:47 ` Rafael J. Wysocki
2011-02-12 23:05 ` [Bug #28102] New display errors in 2.6.38-rc2-00175-g6fb1b30 Rafael J. Wysocki
2011-02-12 23:05 ` [Bug #27382] ath5k phy0: gain calibration timeout Rafael J. Wysocki
2011-02-12 23:05 ` [Bug #27702] regression 2.6.37 -> 2.6.38-rc1: after suspend backlight cannot be adjusted Rafael J. Wysocki
2011-02-15 13:32 ` Norbert Preining
2011-02-12 23:05 ` [Bug #28052] [BUG] 2.6.38-rc2: Circular Locking Dependency Rafael J. Wysocki
2011-02-13 18:21 ` David Miller [this message]
[not found] ` <20110213.102124.258125070.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2011-02-13 23:39 ` Rafael J. Wysocki
2011-02-12 23:05 ` [Bug #28432] khugepaged: gets stuck when writing to USB flash, 2.6.38-rc2 Rafael J. Wysocki
2011-02-12 23:05 ` [Bug #28262] Slow resume from suspend/hibernate on Dell Inspiron M301Z Rafael J. Wysocki
2011-02-12 23:05 ` [Bug #28422] kref and apparmor panic in 2.6.38-rc2 Rafael J. Wysocki
2011-02-12 23:05 ` [Bug #28232] Kernel panics with 2.6.38 (rc1, rc2, rc3, rc4) and the lzo compression of btrfs Rafael J. Wysocki
2011-02-12 23:05 ` [Bug #28522] Unable to mount FAT-formatted floppy on /dev/fd0, plus WARN_ON when using /dev/fd0u1440 Rafael J. Wysocki
2011-02-12 23:05 ` [Bug #28452] 2.6.38-rc3 regression on parisc: segfaults Rafael J. Wysocki
2011-03-12 22:11 ` Meelis Roos
2011-02-12 23:05 ` [Bug #28442] 2.6.38-rc3: FUSE (sshfs) hangs under load Rafael J. Wysocki
2011-02-12 23:05 ` [Bug #28642] ACPI broken on DELL Latitude E6410 in 2.6.38-rc3 Rafael J. Wysocki
2011-02-12 23:05 ` [Bug #28802] commit 5d1d0cc breaks resume from suspend on Thinkpad X201 Rafael J. Wysocki
2011-02-12 23:05 ` [Bug #28832] [regression][2.6.38-rcX][net][iwlagn] WiFi signal after period of time tanks causing contant drops Rafael J. Wysocki
2011-02-19 5:52 ` Shawn Starr
[not found] ` <556947.8414.qm-ENj78gZNO5jzJNTqFNLFoaJ1FwRQo79cG6kzb5Gsg2M@public.gmane.org>
2011-02-19 11:50 ` Rafael J. Wysocki
2011-02-12 23:05 ` [Bug #28562] [BUG] usb problems in .38-rc3+ Rafael J. Wysocki
2011-02-12 23:05 ` [Bug #28842] 2.6.38-rc3 regression ipv6 TFTP download with curl failing in getpeername? Rafael J. Wysocki
2011-02-12 23:05 ` [Bug #28882] Screen corruption and GPU hangs Rafael J. Wysocki
2011-02-12 23:05 ` [Bug #28852] [KMS] radeon artifacts when switched to graphics during boot Rafael J. Wysocki
2011-02-13 8:58 ` Oldřich Jedlička
[not found] ` <201102130958.22668.oldium.pro-9Vj9tDbzfuSlVyrhU4qvOw@public.gmane.org>
2011-02-13 10:58 ` Rafael J. Wysocki
-- strict thread matches above, loose matches on Subject: below --
2011-02-02 23:02 2.6.38-rc3-git1: Reported regressions from 2.6.37 Rafael J. Wysocki
2011-02-02 23:31 ` [Bug #28052] [BUG] 2.6.38-rc2: Circular Locking Dependency Rafael J. Wysocki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110213.102124.258125070.davem@davemloft.net \
--to=davem@davemloft.net \
--cc=Knut_Petersen@t-online.de \
--cc=florian@mickler.org \
--cc=kernel-testers@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maciej.rutecki@gmail.com \
--cc=rjw@sisk.pl \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).