From: Dave Young <hidave.darkstar@gmail.com>
To: Marcel Holtmann <marcel@holtmann.org>
Cc: "Gustavo F. Padovan" <gustavo@padovan.org>,
Oliver Hartkopp <oliver@hartkopp.net>,
Linux Netdev List <netdev@vger.kernel.org>,
linux-bluetooth@vger.kernel.org,
"Gustavo F. Padovan" <gustavo@las.ic.unicamp.br>
Subject: Re: [BUG net-2.6] bluetooth/rfcomm : sleeping function called from invalid context at mm/slub.c:1719
Date: Sun, 11 Oct 2009 10:39:36 +0800 [thread overview]
Message-ID: <a8e1da0910101939u77e8ab30gac1e47f13384865c@mail.gmail.com> (raw)
In-Reply-To: <20091010134517.GA2855@darkstar.tsinghua.edu.cn>
On Sat, Oct 10, 2009 at 9:45 PM, Dave Young <hidave.darkstar@gmail.com> wro=
te:
> On Sat, Oct 10, 2009 at 12:38:32PM +0200, Marcel Holtmann wrote:
>> Hi Dave,
>>
>> > > * Dave Young <hidave.darkstar@gmail.com> [2009-10-04 11:26:17 +0800]=
:
>> > >
>> > > >
>> > > > I can reproduce the bug.
>> > > >
>> > > > It's probably caused by the l2cap changes by =C2=A0Gustavo F. Pado=
van
>> > > > <gustavo@las.ic.unicamp.br>, I didn't see such problem after rever=
ting
>> > > > Gustavo's patch series.
>> > >
>> > > I can't reproduce the bug. I'm trying to reproduce it to figure out =
what of
>> > > my changes cause it.
>> > >
>> > > I' running
>> > >
>> > > $ dund -snu -i 00:11:67:CD:0F:CB # to pretend to be dialup/telephone
>> > >
>> > > and on the other side
>> > >
>> > > $ rfcomm bind 0 00:11:67:CD:0F:CB 1
>> > > $ wvdial =C2=A0# wvdial to /dev/rfcomm0
>> > >
>> > > Both sides are on the same machine. Do you see any real difference
>> > > between my try and the call that get the bug?
>> > >
>> >
>> > Hi oliver
>> >
>> > Could try following patch?
>> > ---
>> >
>> > When shutdown ppp connection, lockdep waring about non-static key
>> > will happen, it is caused by the lock is not initialized properly
>> > at that time.
>> >
>> > Fix with tuning the lock/skb_queue_head init order
>> >
>> > [ =C2=A0 94.339261] INFO: trying to register non-static key.
>> > [ =C2=A0 94.342509] the code is fine but needs lockdep annotation.
>> > [ =C2=A0 94.342509] turning off the locking correctness validator.
>> > [ =C2=A0 94.342509] Pid: 0, comm: swapper Not tainted 2.6.31-mm1 #2
>> > [ =C2=A0 94.342509] Call Trace:
>> > [ =C2=A0 94.342509] =C2=A0[<c0248fbe>] register_lock_class+0x58/0x241
>> > [ =C2=A0 94.342509] =C2=A0[<c024b5df>] ? __lock_acquire+0xb57/0xb73
>> > [ =C2=A0 94.342509] =C2=A0[<c024ab34>] __lock_acquire+0xac/0xb73
>> > [ =C2=A0 94.342509] =C2=A0[<c024b7fa>] ? lock_release_non_nested+0x17b=
/0x1de
>> > [ =C2=A0 94.342509] =C2=A0[<c024b662>] lock_acquire+0x67/0x84
>> > [ =C2=A0 94.342509] =C2=A0[<c04cd1eb>] ? skb_dequeue+0x15/0x41
>> > [ =C2=A0 94.342509] =C2=A0[<c054a857>] _spin_lock_irqsave+0x2f/0x3f
>> > [ =C2=A0 94.342509] =C2=A0[<c04cd1eb>] ? skb_dequeue+0x15/0x41
>> > [ =C2=A0 94.342509] =C2=A0[<c04cd1eb>] skb_dequeue+0x15/0x41
>> > [ =C2=A0 94.342509] =C2=A0[<c054a648>] ? _read_unlock+0x1d/0x20
>> > [ =C2=A0 94.342509] =C2=A0[<c04cd641>] skb_queue_purge+0x14/0x1b
>> > [ =C2=A0 94.342509] =C2=A0[<fab94fdc>] l2cap_recv_frame+0xea1/0x115a [=
l2cap]
>> > [ =C2=A0 94.342509] =C2=A0[<c024b5df>] ? __lock_acquire+0xb57/0xb73
>> > [ =C2=A0 94.342509] =C2=A0[<c0249c04>] ? mark_lock+0x1e/0x1c7
>> > [ =C2=A0 94.342509] =C2=A0[<f8364963>] ? hci_rx_task+0xd2/0x1bc [bluet=
ooth]
>> > [ =C2=A0 94.342509] =C2=A0[<fab95346>] l2cap_recv_acldata+0xb1/0x1c6 [=
l2cap]
>> > [ =C2=A0 94.342509] =C2=A0[<f8364997>] hci_rx_task+0x106/0x1bc [blueto=
oth]
>> > [ =C2=A0 94.342509] =C2=A0[<fab95295>] ? l2cap_recv_acldata+0x0/0x1c6 =
[l2cap]
>> > [ =C2=A0 94.342509] =C2=A0[<c02302c4>] tasklet_action+0x69/0xc1
>> > [ =C2=A0 94.342509] =C2=A0[<c022fbef>] __do_softirq+0x94/0x11e
>> > [ =C2=A0 94.342509] =C2=A0[<c022fcaf>] do_softirq+0x36/0x5a
>> > [ =C2=A0 94.342509] =C2=A0[<c022fe14>] irq_exit+0x35/0x68
>> > [ =C2=A0 94.342509] =C2=A0[<c0204ced>] do_IRQ+0x72/0x89
>> > [ =C2=A0 94.342509] =C2=A0[<c02038ee>] common_interrupt+0x2e/0x34
>> > [ =C2=A0 94.342509] =C2=A0[<c024007b>] ? pm_qos_add_requirement+0x63/0=
x9d
>> > [ =C2=A0 94.342509] =C2=A0[<c038e8a5>] ? acpi_idle_enter_bm+0x209/0x23=
8
>> > [ =C2=A0 94.342509] =C2=A0[<c049d238>] cpuidle_idle_call+0x5c/0x94
>> > [ =C2=A0 94.342509] =C2=A0[<c02023f8>] cpu_idle+0x4e/0x6f
>> > [ =C2=A0 94.342509] =C2=A0[<c0534153>] rest_init+0x53/0x55
>> > [ =C2=A0 94.342509] =C2=A0[<c0781894>] start_kernel+0x2f0/0x2f5
>> > [ =C2=A0 94.342509] =C2=A0[<c0781091>] i386_start_kernel+0x91/0x96
>> >
>> > Reported-by: Oliver Hartkopp <oliver@hartkopp.net>
>> > Signed-off-by: Dave Young <hidave.darkstar@gmail.com>
>>
>> actually Gustavo send a patch titled "Initialize variables and timers
>> for both channel's sides" that should fix this, too. Can we test that
>> patch before I include this one.
Marcel, I tested Gustavo's latest patch series including
the "Initialize variables and timers for both channel". Lockdep
warning still happen.
>>
>
> Hi, marcel, of course.
>
>> Regards
>>
>> Marcel
>>
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-bluetoot=
h" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at =C2=A0http://vger.kernel.org/majordomo-info.html
>
--=20
Regards
dave
next prev parent reply other threads:[~2009-10-11 2:39 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-02 6:28 [BUG net-2.6] bluetooth/rfcomm : sleeping function called from invalid context at mm/slub.c:1719 Oliver Hartkopp
2009-10-02 9:52 ` Oliver Hartkopp
2009-10-02 11:01 ` Dave Young
2009-10-02 16:04 ` Oliver Hartkopp
2009-10-03 7:06 ` Dave Young
2009-10-03 9:43 ` Oliver Hartkopp
2009-10-04 3:26 ` Dave Young
2009-10-04 18:06 ` Gustavo F. Padovan
2009-10-05 4:08 ` Dave Young
2009-10-09 0:44 ` Dave Young
2009-10-10 9:54 ` Oliver Hartkopp
2009-10-10 10:38 ` Marcel Holtmann
2009-10-10 13:45 ` Dave Young
2009-10-11 2:39 ` Dave Young [this message]
2009-10-07 17:16 ` Oliver Hartkopp
2009-10-08 1:25 ` Dave Young
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=a8e1da0910101939u77e8ab30gac1e47f13384865c@mail.gmail.com \
--to=hidave.darkstar@gmail.com \
--cc=gustavo@las.ic.unicamp.br \
--cc=gustavo@padovan.org \
--cc=linux-bluetooth@vger.kernel.org \
--cc=marcel@holtmann.org \
--cc=netdev@vger.kernel.org \
--cc=oliver@hartkopp.net \
/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