mm/zsmalloc: add missing annotation for unpin_tag()
authorJules Irenge <jbi.octave@gmail.com>
Tue, 7 Apr 2020 03:08:30 +0000 (20:08 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 7 Apr 2020 17:43:41 +0000 (10:43 -0700)
Sparse reports a warning at unpin_tag()()

warning: context imbalance in unpin_tag() - unexpected unlock

The root cause is the missing annotation at unpin_tag()
Add the missing __releases(bitlock) annotation

Signed-off-by: Jules Irenge <jbi.octave@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Acked-by: Minchan Kim <minchan@kernel.org>
Link: http://lkml.kernel.org/r/20200214204741.94112-14-jbi.octave@gmail.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/zsmalloc.c

index 7bac76ae11b35c890f7442cd9f57e95df3d16bd6..2aa2d524a34331bc922f8d2aef75d6765c027b2a 100644 (file)
@@ -896,7 +896,7 @@ static void pin_tag(unsigned long handle) __acquires(bitlock)
        bit_spin_lock(HANDLE_PIN_BIT, (unsigned long *)handle);
 }
 
-static void unpin_tag(unsigned long handle)
+static void unpin_tag(unsigned long handle) __releases(bitlock)
 {
        bit_spin_unlock(HANDLE_PIN_BIT, (unsigned long *)handle);
 }