Commit f6e53fb2 authored by Günther Noack's avatar Günther Noack Committed by Mickaël Salaün

samples/landlock: Document best-effort approach for LANDLOCK_ACCESS_FS_REFER

Add a comment to clarify how to handle best-effort backwards
compatibility for LANDLOCK_ACCESS_FS_REFER.

The "refer" access is special because these operations are always
forbidden in ABI 1, unlike most other operations, which are permitted
when using Landlock ABI levels where they are not supported yet.
Signed-off-by: default avatarGünther Noack <gnoack3000@gmail.com>
Link: https://lore.kernel.org/r/20221107181651.4555-1-gnoack3000@gmail.comSigned-off-by: default avatarMickaël Salaün <mic@digikod.net>
parent ede2a343
......@@ -234,7 +234,22 @@ int main(const int argc, char *const argv[], char *const *const envp)
/* Best-effort security. */
switch (abi) {
case 1:
/* Removes LANDLOCK_ACCESS_FS_REFER for ABI < 2 */
/*
* Removes LANDLOCK_ACCESS_FS_REFER for ABI < 2
*
* Note: The "refer" operations (file renaming and linking
* across different directories) are always forbidden when using
* Landlock with ABI 1.
*
* If only ABI 1 is available, this sandboxer knowingly forbids
* refer operations.
*
* If a program *needs* to do refer operations after enabling
* Landlock, it can not use Landlock at ABI level 1. To be
* compatible with different kernel versions, such programs
* should then fall back to not restrict themselves at all if
* the running kernel only supports ABI 1.
*/
ruleset_attr.handled_access_fs &= ~LANDLOCK_ACCESS_FS_REFER;
__attribute__((fallthrough));
case 2:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment