Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/security/landlock/errata.h
29265 views
1
/* SPDX-License-Identifier: GPL-2.0-only */
2
/*
3
* Landlock - Errata information
4
*
5
* Copyright © 2025 Microsoft Corporation
6
*/
7
8
#ifndef _SECURITY_LANDLOCK_ERRATA_H
9
#define _SECURITY_LANDLOCK_ERRATA_H
10
11
#include <linux/init.h>
12
13
struct landlock_erratum {
14
const int abi;
15
const u8 number;
16
};
17
18
/* clang-format off */
19
#define LANDLOCK_ERRATUM(NUMBER) \
20
{ \
21
.abi = LANDLOCK_ERRATA_ABI, \
22
.number = NUMBER, \
23
},
24
/* clang-format on */
25
26
/*
27
* Some fixes may require user space to check if they are applied on the running
28
* kernel before using a specific feature. For instance, this applies when a
29
* restriction was previously too restrictive and is now getting relaxed (for
30
* compatibility or semantic reasons). However, non-visible changes for
31
* legitimate use (e.g. security fixes) do not require an erratum.
32
*/
33
static const struct landlock_erratum landlock_errata_init[] __initconst = {
34
35
/*
36
* Only Sparse may not implement __has_include. If a compiler does not
37
* implement __has_include, a warning will be printed at boot time (see
38
* setup.c).
39
*/
40
#ifdef __has_include
41
42
#define LANDLOCK_ERRATA_ABI 1
43
#if __has_include("errata/abi-1.h")
44
#include "errata/abi-1.h"
45
#endif
46
#undef LANDLOCK_ERRATA_ABI
47
48
#define LANDLOCK_ERRATA_ABI 2
49
#if __has_include("errata/abi-2.h")
50
#include "errata/abi-2.h"
51
#endif
52
#undef LANDLOCK_ERRATA_ABI
53
54
#define LANDLOCK_ERRATA_ABI 3
55
#if __has_include("errata/abi-3.h")
56
#include "errata/abi-3.h"
57
#endif
58
#undef LANDLOCK_ERRATA_ABI
59
60
#define LANDLOCK_ERRATA_ABI 4
61
#if __has_include("errata/abi-4.h")
62
#include "errata/abi-4.h"
63
#endif
64
#undef LANDLOCK_ERRATA_ABI
65
66
#define LANDLOCK_ERRATA_ABI 5
67
#if __has_include("errata/abi-5.h")
68
#include "errata/abi-5.h"
69
#endif
70
#undef LANDLOCK_ERRATA_ABI
71
72
#define LANDLOCK_ERRATA_ABI 6
73
#if __has_include("errata/abi-6.h")
74
#include "errata/abi-6.h"
75
#endif
76
#undef LANDLOCK_ERRATA_ABI
77
78
/*
79
* For each new erratum, we need to include all the ABI files up to the impacted
80
* ABI to make all potential future intermediate errata easy to backport.
81
*
82
* If such change involves more than one ABI addition, then it must be in a
83
* dedicated commit with the same Fixes tag as used for the actual fix.
84
*
85
* Each commit creating a new security/landlock/errata/abi-*.h file must have a
86
* Depends-on tag to reference the commit that previously added the line to
87
* include this new file, except if the original Fixes tag is enough.
88
*
89
* Each erratum must be documented in its related ABI file, and a dedicated
90
* commit must update Documentation/userspace-api/landlock.rst to include this
91
* erratum. This commit will not be backported.
92
*/
93
94
#endif
95
96
{}
97
};
98
99
#endif /* _SECURITY_LANDLOCK_ERRATA_H */
100
101