Commit 8529091e authored by Josh Triplett's avatar Josh Triplett Committed by Linus Torvalds

linux/compiler.h: add __must_hold macro for functions called with a lock held

linux/compiler.h has macros to denote functions that acquire or release
locks, but not to denote functions called with a lock held that return
with the lock still held.  Add a __must_hold macro to cover that case.
Signed-off-by: default avatarJosh Triplett <josh@joshtriplett.org>
Reported-by: default avatarEd Cashin <ecashin@coraid.com>
Tested-by: default avatarEd Cashin <ecashin@coraid.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent a5ba911e
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
# define __force __attribute__((force)) # define __force __attribute__((force))
# define __nocast __attribute__((nocast)) # define __nocast __attribute__((nocast))
# define __iomem __attribute__((noderef, address_space(2))) # define __iomem __attribute__((noderef, address_space(2)))
# define __must_hold(x) __attribute__((context(x,1,1)))
# define __acquires(x) __attribute__((context(x,0,1))) # define __acquires(x) __attribute__((context(x,0,1)))
# define __releases(x) __attribute__((context(x,1,0))) # define __releases(x) __attribute__((context(x,1,0)))
# define __acquire(x) __context__(x,1) # define __acquire(x) __context__(x,1)
...@@ -33,6 +34,7 @@ extern void __chk_io_ptr(const volatile void __iomem *); ...@@ -33,6 +34,7 @@ extern void __chk_io_ptr(const volatile void __iomem *);
# define __chk_user_ptr(x) (void)0 # define __chk_user_ptr(x) (void)0
# define __chk_io_ptr(x) (void)0 # define __chk_io_ptr(x) (void)0
# define __builtin_warning(x, y...) (1) # define __builtin_warning(x, y...) (1)
# define __must_hold(x)
# define __acquires(x) # define __acquires(x)
# define __releases(x) # define __releases(x)
# define __acquire(x) (void)0 # define __acquire(x) (void)0
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment