sparse: use static inline for __chk_{user,io}_ptr()
__chk_user_ptr() & __chk_io_ptr() are dummy extern functions which only exist to enforce the typechecking of __user or __iomem pointers in macros when using sparse. This typechecking is done by inserting a call to these functions. But the presence of these calls can inhibit some simplifications and so influence the result of sparse's analysis of context/locking. Fix this by changing these calls into static inline calls with an empty body. Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com> Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
This commit is contained in:
parent
5861af92ff
commit
e5fc436f06
|
@ -11,8 +11,8 @@
|
|||
# define __iomem __attribute__((noderef, address_space(__iomem)))
|
||||
# define __percpu __attribute__((noderef, address_space(__percpu)))
|
||||
# define __rcu __attribute__((noderef, address_space(__rcu)))
|
||||
extern void __chk_user_ptr(const volatile void __user *);
|
||||
extern void __chk_io_ptr(const volatile void __iomem *);
|
||||
static inline void __chk_user_ptr(const volatile void __user *ptr) { }
|
||||
static inline void __chk_io_ptr(const volatile void __iomem *ptr) { }
|
||||
/* context/locking */
|
||||
# define __must_hold(x) __attribute__((context(x,1,1)))
|
||||
# define __acquires(x) __attribute__((context(x,0,1)))
|
||||
|
|
Loading…
Reference in New Issue