[PATCH] kernel: locking: add releases(lock) annotation

From: Jules Irenge
Date: Mon Dec 16 2019 - 10:40:07 EST


Add releases(lock) annotation to remove issue detected by sparse tool.
warning: context imbalance in xxxxxxx() - unexpected unlock

Signed-off-by: Jules Irenge <jbi.octave@xxxxxxxxx>
---
kernel/locking/spinlock.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/kernel/locking/spinlock.c b/kernel/locking/spinlock.c
index 0ff08380f531..bb088fcf2be5 100644
--- a/kernel/locking/spinlock.c
+++ b/kernel/locking/spinlock.c
@@ -187,6 +187,7 @@ EXPORT_SYMBOL(_raw_spin_unlock);

#ifndef CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE
void __lockfunc _raw_spin_unlock_irqrestore(raw_spinlock_t *lock, unsigned long flags)
+ __releases(lock)
{
__raw_spin_unlock_irqrestore(lock, flags);
}
@@ -203,6 +204,7 @@ EXPORT_SYMBOL(_raw_spin_unlock_irq);

#ifndef CONFIG_INLINE_SPIN_UNLOCK_BH
void __lockfunc _raw_spin_unlock_bh(raw_spinlock_t *lock)
+ __releases(lock)
{
__raw_spin_unlock_bh(lock);
}
@@ -275,6 +277,7 @@ EXPORT_SYMBOL(_raw_read_unlock_irq);

#ifndef CONFIG_INLINE_READ_UNLOCK_BH
void __lockfunc _raw_read_unlock_bh(rwlock_t *lock)
+ __releases(lock)
{
__raw_read_unlock_bh(lock);
}
@@ -331,6 +334,7 @@ EXPORT_SYMBOL(_raw_write_unlock);

#ifndef CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE
void __lockfunc _raw_write_unlock_irqrestore(rwlock_t *lock, unsigned long flags)
+ __releases(lock)
{
__raw_write_unlock_irqrestore(lock, flags);
}
@@ -347,6 +351,7 @@ EXPORT_SYMBOL(_raw_write_unlock_irq);

#ifndef CONFIG_INLINE_WRITE_UNLOCK_BH
void __lockfunc _raw_write_unlock_bh(rwlock_t *lock)
+ __releases(lock)
{
__raw_write_unlock_bh(lock);
}
--
2.23.0