Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _TOOLS_LINUX_COMPILER_CONTEXT_ANALYSIS_H
3#define _TOOLS_LINUX_COMPILER_CONTEXT_ANALYSIS_H
4
5/*
6 * Macros and attributes for compiler-based static context analysis.
7 * No-op stubs for tools.
8 */
9
10#define __guarded_by(...)
11#define __pt_guarded_by(...)
12
13#define context_lock_struct(name, ...) struct __VA_ARGS__ name
14
15#define __no_context_analysis
16#define __context_unsafe(comment)
17#define context_unsafe(...) ({ __VA_ARGS__; })
18#define context_unsafe_alias(p)
19#define disable_context_analysis()
20#define enable_context_analysis()
21
22#define __must_hold(...)
23#define __must_not_hold(...)
24#define __acquires(...)
25#define __cond_acquires(ret, x)
26#define __releases(...)
27#define __acquire(x) (void)0
28#define __release(x) (void)0
29
30#define __must_hold_shared(...)
31#define __acquires_shared(...)
32#define __cond_acquires_shared(ret, x)
33#define __releases_shared(...)
34#define __acquire_shared(x) (void)0
35#define __release_shared(x) (void)0
36
37#define __acquire_ret(call, expr) (call)
38#define __acquire_shared_ret(call, expr) (call)
39#define __acquires_ret
40#define __acquires_shared_ret
41
42#endif /* _TOOLS_LINUX_COMPILER_CONTEXT_ANALYSIS_H */