summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel.spec5
-rw-r--r--linux-2.6-rcu-netpoll.patch16
2 files changed, 21 insertions, 0 deletions
diff --git a/kernel.spec b/kernel.spec
index 325026eff..f0c3231ce 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -682,6 +682,7 @@ Patch2912: linux-2.6-v4l-dvb-ir-core-update.patch
Patch2917: hdpvr-ir-enable.patch
Patch3000: linux-2.6-rcu-sched-warning.patch
+Patch3010: linux-2.6-rcu-netpoll.patch
# fs fixes
@@ -1295,6 +1296,7 @@ ApplyPatch hdpvr-ir-enable.patch
# silence another rcu_reference warning
ApplyPatch linux-2.6-rcu-sched-warning.patch
+ApplyPatch linux-2.6-rcu-netpoll.patch
# Patches headed upstream
ApplyPatch disable-i8042-check-on-apple-mac.patch
@@ -1940,6 +1942,9 @@ fi
# || ||
%changelog
+* Wed Oct 06 2010 Dave Jones <davej@redhat.com>
+- Another day, another rcu_dereference warning. (#640673)
+
* Tue Oct 05 2010 Kyle McMartin <kyle@redhat.com> 2.6.36-0.34.rc6.git3
- Linux 2.6.36-rc6-git3
- Drop intel_ips patches merged upstream.
diff --git a/linux-2.6-rcu-netpoll.patch b/linux-2.6-rcu-netpoll.patch
new file mode 100644
index 000000000..540b39341
--- /dev/null
+++ b/linux-2.6-rcu-netpoll.patch
@@ -0,0 +1,16 @@
+
+diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h
+index 9fbc54a..435c502 100644
+--- a/include/linux/rcupdate.h
++++ b/include/linux/rcupdate.h
+@@ -454,7 +454,7 @@ static inline notrace void rcu_read_unlock_sched_notrace(void)
+ * Makes rcu_dereference_check() do the dirty work.
+ */
+ #define rcu_dereference_bh(p) \
+- rcu_dereference_check(p, rcu_read_lock_bh_held())
++ rcu_dereference_check(p, rcu_read_lock_bh_held() || irqs_disabled())
+
+ /**
+ * rcu_dereference_sched - fetch RCU-protected pointer, checking for RCU-sched
+
+