Merge branches 'doc.2021.01.06a', 'fixes.2021.01.04b', 'kfree_rcu.2021.01.04a', ...
[sfrench/cifs-2.6.git] / kernel / rcu / rcu.h
index 59ef1ae6dc37c188105049606f2e3302c22fb895..bf0827d4b6593a3b3337125d82acba87cca1ad15 100644 (file)
@@ -378,7 +378,11 @@ do {                                                                       \
        smp_mb__after_unlock_lock();                                    \
 } while (0)
 
-#define raw_spin_unlock_rcu_node(p) raw_spin_unlock(&ACCESS_PRIVATE(p, lock))
+#define raw_spin_unlock_rcu_node(p)                                    \
+do {                                                                   \
+       lockdep_assert_irqs_disabled();                                 \
+       raw_spin_unlock(&ACCESS_PRIVATE(p, lock));                      \
+} while (0)
 
 #define raw_spin_lock_irq_rcu_node(p)                                  \
 do {                                                                   \
@@ -387,7 +391,10 @@ do {                                                                       \
 } while (0)
 
 #define raw_spin_unlock_irq_rcu_node(p)                                        \
-       raw_spin_unlock_irq(&ACCESS_PRIVATE(p, lock))
+do {                                                                   \
+       lockdep_assert_irqs_disabled();                                 \
+       raw_spin_unlock_irq(&ACCESS_PRIVATE(p, lock));                  \
+} while (0)
 
 #define raw_spin_lock_irqsave_rcu_node(p, flags)                       \
 do {                                                                   \
@@ -396,7 +403,10 @@ do {                                                                       \
 } while (0)
 
 #define raw_spin_unlock_irqrestore_rcu_node(p, flags)                  \
-       raw_spin_unlock_irqrestore(&ACCESS_PRIVATE(p, lock), flags)
+do {                                                                   \
+       lockdep_assert_irqs_disabled();                                 \
+       raw_spin_unlock_irqrestore(&ACCESS_PRIVATE(p, lock), flags);    \
+} while (0)
 
 #define raw_spin_trylock_rcu_node(p)                                   \
 ({                                                                     \