From 64810af5dd85a8d693ba13bc052c9cee54c570bd Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Wed, 11 Jul 2012 06:24:25 -0700 Subject: [PATCH] 3.0-stable patches added patches: tcm_fc-resolve-suspicious-rcu-usage-warnings.patch --- queue-3.0/series | 1 + ...esolve-suspicious-rcu-usage-warnings.patch | 34 +++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 queue-3.0/tcm_fc-resolve-suspicious-rcu-usage-warnings.patch diff --git a/queue-3.0/series b/queue-3.0/series index d722683350e..f912059eb71 100644 --- a/queue-3.0/series +++ b/queue-3.0/series @@ -42,3 +42,4 @@ mac80211-correct-behaviour-on-unrecognised-action-frames.patch mwifiex-fix-11n-rx-packet-drop-issue.patch vfs-make-o_path-file-descriptors-usable-for-fchdir.patch mtd-cafe_nand-fix-an-vs-mistake.patch +tcm_fc-resolve-suspicious-rcu-usage-warnings.patch diff --git a/queue-3.0/tcm_fc-resolve-suspicious-rcu-usage-warnings.patch b/queue-3.0/tcm_fc-resolve-suspicious-rcu-usage-warnings.patch new file mode 100644 index 00000000000..c691fe3d6ed --- /dev/null +++ b/queue-3.0/tcm_fc-resolve-suspicious-rcu-usage-warnings.patch @@ -0,0 +1,34 @@ +From 863555be0c81558b1af277addcf68acb8f778860 Mon Sep 17 00:00:00 2001 +From: Mark Rustad +Date: Tue, 26 Jun 2012 15:57:30 -0700 +Subject: tcm_fc: Resolve suspicious RCU usage warnings + +From: Mark Rustad + +commit 863555be0c81558b1af277addcf68acb8f778860 upstream. + +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 +Signed-off-by: Nicholas Bellinger +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/target/tcm_fc/tfc_sess.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/drivers/target/tcm_fc/tfc_sess.c ++++ b/drivers/target/tcm_fc/tfc_sess.c +@@ -64,7 +64,8 @@ static struct ft_tport *ft_tport_create( + struct ft_tport *tport; + int i; + +- 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 && tport->tpg) + return tport; + -- 2.47.3