[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20100811.231632.59670387.davem@davemloft.net>
Date: Wed, 11 Aug 2010 23:16:32 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: linville@...driver.com
Cc: herbert@...dor.hengli.com.au, paulmck@...ux.vnet.ibm.com,
netdev@...r.kernel.org
Subject: Re: [PATCH] netpoll: use non-BH variant of RCU
From: "John W. Linville" <linville@...driver.com>
Date: Wed, 11 Aug 2010 11:37:36 -0400
> On Wed, Aug 11, 2010 at 07:27:06AM -0400, Herbert Xu wrote:
>> On Wed, Aug 11, 2010 at 07:03:30AM -0400, Herbert Xu wrote:
>> >
>> > To use rcu_read_lock safely we'd also need to add do synchronize_rcu
>> > in addition of synchronize_rcu_bh, right Paul?
>> >
>> > Of course as we were doing this unsafely prior to my patch anyway
>> > I'm also fine with just reverting it.
>>
>> Actually, we could just disable IRQs for stable. How about this
>> patch (untested)?
>>
>> netpoll: Disable IRQ around RCU dereference in netpoll_rx
>>
>> We cannot use rcu_dereference_bh safely in netpoll_rx as we may
>> be called with IRQs disabled. We could however simply disable
>> IRQs as that too causes BH to be disabled and is safe in either
>> case.
>>
>> Thanks to John Linville for discovering this bug and providing
>> a patch.
>>
>> Signed-off-by: Herbert Xu <herbert@...dor.apana.org.au>
>
> This also seems to work for me.
I'll queue up this variant for -stable.
And we'll go with making use of Paul's new RCU irqsoff interface
approach for Linus's tree.
Thanks.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists