tcm_fc: rcu_deref outside rcu lock/unlock section

Use rcu_dereference_protected in order to prevent lockdep
complaint. Sequel of the patch 863555be

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Denis Efremov <yefremov.denis@gmail.com>
Acked-by: Mark D. Rustad <mark.d.rustad@intel.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>

authored by Denis Efremov and committed by Nicholas Bellinger 08a16208 6de7145c

Changed files
+3 -1
drivers
target
tcm_fc
+3 -1
drivers/target/tcm_fc/tfc_sess.c
··· 456 456 struct ft_tport *tport; 457 457 458 458 mutex_lock(&ft_lport_lock); 459 - tport = rcu_dereference(rdata->local_port->prov[FC_TYPE_FCP]); 459 + tport = rcu_dereference_protected(rdata->local_port->prov[FC_TYPE_FCP], 460 + lockdep_is_held(&ft_lport_lock)); 461 + 460 462 if (!tport) { 461 463 mutex_unlock(&ft_lport_lock); 462 464 return;