| /* SPDX-License-Identifier: GPL-2.0 */ |
| #ifndef _TOOLS_LINUX_COMPILER_CONTEXT_ANALYSIS_H |
| #define _TOOLS_LINUX_COMPILER_CONTEXT_ANALYSIS_H |
| |
| /* |
| * Macros and attributes for compiler-based static context analysis. |
| * No-op stubs for tools. |
| */ |
| |
| #define __guarded_by(...) |
| #define __pt_guarded_by(...) |
| |
| #define context_lock_struct(name, ...) struct __VA_ARGS__ name |
| |
| #define __no_context_analysis |
| #define __context_unsafe(comment) |
| #define context_unsafe(...) ({ __VA_ARGS__; }) |
| #define context_unsafe_alias(p) |
| #define disable_context_analysis() |
| #define enable_context_analysis() |
| |
| #define __must_hold(...) |
| #define __must_not_hold(...) |
| #define __acquires(...) |
| #define __cond_acquires(ret, x) |
| #define __releases(...) |
| #define __acquire(x) (void)0 |
| #define __release(x) (void)0 |
| |
| #define __must_hold_shared(...) |
| #define __acquires_shared(...) |
| #define __cond_acquires_shared(ret, x) |
| #define __releases_shared(...) |
| #define __acquire_shared(x) (void)0 |
| #define __release_shared(x) (void)0 |
| |
| #define __acquire_ret(call, expr) (call) |
| #define __acquire_shared_ret(call, expr) (call) |
| #define __acquires_ret |
| #define __acquires_shared_ret |
| |
| #endif /* _TOOLS_LINUX_COMPILER_CONTEXT_ANALYSIS_H */ |