|
12 | 12 | #include <linux/types.h>
|
13 | 13 |
|
14 | 14 | /**
|
15 |
| - * struct landlock_ruleset_attr - Ruleset definition |
| 15 | + * struct landlock_ruleset_attr - Ruleset definition. |
16 | 16 | *
|
17 |
| - * Argument of sys_landlock_create_ruleset(). This structure can grow in |
18 |
| - * future versions. |
| 17 | + * Argument of sys_landlock_create_ruleset(). |
| 18 | + * |
| 19 | + * This structure defines a set of *handled access rights*, a set of actions on |
| 20 | + * different object types, which should be denied by default when the ruleset is |
| 21 | + * enacted. Vice versa, access rights that are not specifically listed here are |
| 22 | + * not going to be denied by this ruleset when it is enacted. |
| 23 | + * |
| 24 | + * For historical reasons, the %LANDLOCK_ACCESS_FS_REFER right is always denied |
| 25 | + * by default, even when its bit is not set in @handled_access_fs. In order to |
| 26 | + * add new rules with this access right, the bit must still be set explicitly |
| 27 | + * (cf. `Filesystem flags`_). |
| 28 | + * |
| 29 | + * The explicit listing of *handled access rights* is required for backwards |
| 30 | + * compatibility reasons. In most use cases, processes that use Landlock will |
| 31 | + * *handle* a wide range or all access rights that they know about at build time |
| 32 | + * (and that they have tested with a kernel that supported them all). |
| 33 | + * |
| 34 | + * This structure can grow in future Landlock versions. |
19 | 35 | */
|
20 | 36 | struct landlock_ruleset_attr {
|
21 | 37 | /**
|
22 |
| - * @handled_access_fs: Bitmask of actions (cf. `Filesystem flags`_) |
23 |
| - * that is handled by this ruleset and should then be forbidden if no |
24 |
| - * rule explicitly allow them: it is a deny-by-default list that should |
25 |
| - * contain as much Landlock access rights as possible. Indeed, all |
26 |
| - * Landlock filesystem access rights that are not part of |
27 |
| - * handled_access_fs are allowed. This is needed for backward |
28 |
| - * compatibility reasons. One exception is the |
29 |
| - * %LANDLOCK_ACCESS_FS_REFER access right, which is always implicitly |
30 |
| - * handled, but must still be explicitly handled to add new rules with |
31 |
| - * this access right. |
| 38 | + * @handled_access_fs: Bitmask of handled filesystem actions |
| 39 | + * (cf. `Filesystem flags`_). |
32 | 40 | */
|
33 | 41 | __u64 handled_access_fs;
|
34 | 42 | /**
|
35 |
| - * @handled_access_net: Bitmask of actions (cf. `Network flags`_) |
36 |
| - * that is handled by this ruleset and should then be forbidden if no |
37 |
| - * rule explicitly allow them. |
| 43 | + * @handled_access_net: Bitmask of handled network actions (cf. `Network |
| 44 | + * flags`_). |
38 | 45 | */
|
39 | 46 | __u64 handled_access_net;
|
40 | 47 | };
|
|
0 commit comments