From a4c70b8126e1505efa6f4da984d10205db3ff626 Mon Sep 17 00:00:00 2001 From: Bart Van Assche Date: Wed, 27 Jun 2012 05:11:20 +0000 Subject: [PATCH] Use rcu_dereference_protected to tell rcu that the ft_lport_lock is held during ft_lport_create. This resolved "suspicious RCU usage" warnings when debugging options are turned on. Signed-off-by: Mark Rustad Tested-by: Ross Brattain git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@4378 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- fcst/ft_sess.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fcst/ft_sess.c b/fcst/ft_sess.c index 02f9dd9e8..bc6e3e97f 100644 --- a/fcst/ft_sess.c +++ b/fcst/ft_sess.c @@ -48,7 +48,8 @@ static struct ft_tport *ft_tport_create(struct fc_lport *lport) ft_format_wwn(name, sizeof(name), lport->wwpn); FT_SESS_DBG("create %s\n", name); - tport = rcu_dereference(lport->prov[FC_TYPE_FCP]); + tport = rcu_dereference_protected(lport->prov[FC_TYPE_FCP], + lockdep_is_held(&ft_lport_lock)); if (tport) { FT_SESS_DBG("tport alloc %s - already setup\n", name); return tport;