From: Vlad Yasevich <vyasevich@gmail.com>
To: Stephen Hemminger <stephen@networkplumber.org>,
Cong Wang <cwang@twopensource.com>
Cc: Dominick Grift <dac.override@gmail.com>, netdev <netdev@vger.kernel.org>
Subject: Re: Suspicious RCU usage in bridge with Linux v4.0-9362-g1fc149933fd4
Date: Mon, 04 May 2015 22:32:04 -0400 [thread overview]
Message-ID: <55482BA4.9070607@gmail.com> (raw)
In-Reply-To: <20150504132714.55dca5b0@urahara>
On 05/04/2015 04:27 PM, Stephen Hemminger wrote:
> On Mon, 4 May 2015 11:45:41 -0700
> Cong Wang <cwang@twopensource.com> wrote:
>
>> On Mon, May 4, 2015 at 6:39 AM, Dominick Grift <dac.override@gmail.com> wrote:
>>> On Thu, Apr 23, 2015 at 01:07:45PM -0400, Josh Boyer wrote:
>>>> Hi All,
>>>>
>>>> We've had a user report the following backtrace from the bridge module
>>>> with a recent Linus' tree. Has anything like this been reported yet?
>>>> If you have any questions on setup, the user is CC'd.
>>>>
>>>> josh
>>>>
>>>> [ 29.382235] br0: port 1(tap0) entered forwarding state
>>>>
>>>> [ 29.382286] ===============================
>>>> [ 29.382315] [ INFO: suspicious RCU usage. ]
>>>> [ 29.382344] 4.1.0-0.rc0.git11.1.fc23.x86_64 #1 Not tainted
>>>> [ 29.382380] -------------------------------
>>>> [ 29.382409] net/bridge/br_private.h:626 suspicious
>>>> rcu_dereference_check() usage!
>>>
>>> <snip>
>>>
>>> With 4.1.0-0.rc1.git1.1.fc23.x86_64 the situation seems to have slightly changed:
>>>
>>
>> Should be the same issue. Please give the attached patch a try,
>> it is compile-tested only.
>>
>> Thanks!
>
> Good analysis in identifying the issue. But the proposed patch
> doesn't seem right.
>
> The br->lock protects against changes to the bridge port state.
> vlan_info should be treated as part of the bridge state.
>
> The correct fix is to get vlan_info out of depending on RTNL
> and use br->lock to control modifications.
>
Changing the write side protection to be dependent on br->lock would
then require rcu or lock to be held in br_getlink(). It all
boils down to the same thing. br_fill_info() needs to be either
in rcu or locked context. It's already in rtnl context, so Eric's
proposal is the simplest one.
-vlad
> --
> 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
>
next prev parent reply other threads:[~2015-05-05 2:32 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-23 17:07 [Bridge] Suspicious RCU usage in bridge with Linux v4.0-9362-g1fc149933fd4 Josh Boyer
2015-04-23 17:07 ` Josh Boyer
2015-04-23 17:35 ` [Bridge] " Sudeep Holla
2015-04-23 17:35 ` Sudeep Holla
2015-04-23 22:53 ` [Bridge] " Cong Wang
2015-04-23 22:53 ` Cong Wang
2015-05-04 13:39 ` Dominick Grift
2015-05-04 18:45 ` Cong Wang
2015-05-04 20:27 ` Stephen Hemminger
2015-05-04 21:35 ` Cong Wang
2015-05-11 13:15 ` Dominick Grift
2015-05-11 14:53 ` Eric Dumazet
2015-05-11 17:42 ` Dominick Grift
2015-05-12 0:13 ` poma
2015-05-12 0:37 ` Eric Dumazet
2015-05-12 1:33 ` poma
2015-05-12 18:27 ` Dominick Grift
2015-05-21 19:22 ` Josh Boyer
2015-05-21 20:06 ` Eric Dumazet
2015-05-05 2:32 ` Vlad Yasevich [this message]
2015-05-04 20:49 ` Eric Dumazet
2015-05-04 21:38 ` Cong Wang
2015-05-04 22:06 ` Eric Dumazet
2015-05-04 22:17 ` Cong Wang
2015-05-04 22:29 ` Eric Dumazet
2015-05-04 22:44 ` Cong Wang
2015-05-04 23:00 ` Eric Dumazet
2015-05-04 23:22 ` David Miller
2015-05-05 8:33 ` Dominick Grift
2015-05-21 20:28 ` [PATCH net] bridge: fix lockdep splat Eric Dumazet
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=55482BA4.9070607@gmail.com \
--to=vyasevich@gmail.com \
--cc=cwang@twopensource.com \
--cc=dac.override@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=stephen@networkplumber.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.