From: Greg Kroah-Hartman Date: Wed, 11 Jul 2012 13:24:25 +0000 (-0700) Subject: 3.0-stable patches X-Git-Tag: v3.0.37~27 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=64810af5dd85a8d693ba13bc052c9cee54c570bd;p=thirdparty%2Fkernel%2Fstable-queue.git 3.0-stable patches added patches: 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; +