]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.0-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 11 Jul 2012 13:24:25 +0000 (06:24 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 11 Jul 2012 13:24:25 +0000 (06:24 -0700)
added patches:
tcm_fc-resolve-suspicious-rcu-usage-warnings.patch

queue-3.0/series
queue-3.0/tcm_fc-resolve-suspicious-rcu-usage-warnings.patch [new file with mode: 0644]

index d722683350e682164d18a4fd73483350ae24337c..f912059eb718bb240dad28c9ffdc2896f72a9681 100644 (file)
@@ -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 (file)
index 0000000..c691fe3
--- /dev/null
@@ -0,0 +1,34 @@
+From 863555be0c81558b1af277addcf68acb8f778860 Mon Sep 17 00:00:00 2001
+From: Mark Rustad <mark.d.rustad@intel.com>
+Date: Tue, 26 Jun 2012 15:57:30 -0700
+Subject: tcm_fc: Resolve suspicious RCU usage warnings
+
+From: Mark Rustad <mark.d.rustad@intel.com>
+
+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 <mark.d.rustad@intel.com>
+Tested-by: Ross Brattain <ross.b.brattain@intel.com>
+Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ 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;