Messages in this thread | | | From | Pranith Kumar <> | Date | Sun, 23 Nov 2014 07:21:44 -0500 | Subject | Re: [PATCH tip/core/rcu 3/9] drivers/md: Use rcu_dereference() for accessing rcu pointer |
| |
On Fri, Nov 21, 2014 at 9:58 AM, Kirill A. Shutemov <kirill@shutemov.name> wrote: > On Fri, Nov 21, 2014 at 09:30:36AM -0500, Pranith Kumar wrote: >> On 11/21/2014 08:31 AM, Kirill A. Shutemov wrote: >> > On Tue, Oct 28, 2014 at 03:09:56PM -0700, Paul E. McKenney wrote: >> >> From: Pranith Kumar <bobby.prani@gmail.com> >> >> >> >> Got Paul's email wrong the first time. >> >> >> >> The map field in 'struct mapped_device' is an rcu pointer. Use rcu_dereference() >> >> while accessing it. >> >> >> >> Signed-off-by: Pranith Kumar <bobby.prani@gmail.com> >> >> Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> >> > >> > On current -next I see this: >> > >> > [ 6.388264] =============================== >> > [ 6.389571] [ INFO: suspicious RCU usage. ] >> > [ 6.390869] 3.18.0-rc5-next-20141121-08303-g44cae4530372 #2 Not tainted >> > [ 6.392185] ------------------------------- >> > [ 6.393479] /home/kas/git/public/linux/drivers/md/dm.c:2853 suspicious rcu_dereference_check() usage! >> > [ 6.394801] >> > other info that might help us debug this: >> > >> >> Hi Kirill, >> >> We are dereferencing an RCU pointer with the suspend_lock held which is causing this warning. >> >> Can you please check if the following patch helps? Thanks! > > Nope. The same issue. > > IIUC, the problem is that you dereference pointer outside rcu_read_lock() > section, not that suspend_lock is held. >
I am not sure we should be taking rcu_read_lock() there as I am not sure how long that critical section might last. Can someone who is more familiar with the code take a look?
I will try to look for a solution too in the mean time.
Thanks! -- Pranith
| |