mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-31 14:04:27 -04:00
Merge tag 'landlock-7.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mic/linux
Pull Landlock update from Mickaël Salaün: "This improves observability with Landlock tracepoints support, which required some refactoring for dedicated domain types and common helpers shared with audit code. A LANDLOCK_RESTRICT_SELF_NO_NEW_PRIVS flag is also added to improve process-wide domain enforcement consistency. Whiteout files are now correctly handled and tested, and a few other fixes" * tag 'landlock-7.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mic/linux: (34 commits) landlock: Document tracepoints selftests/landlock: Add landlock_enforce_domain trace tests selftests/landlock: Add scope and ptrace tracepoint tests selftests/landlock: Add network tracepoint tests selftests/landlock: Add filesystem tracepoint tests selftests/landlock: Add trace event test infrastructure and tests landlock: Add tracepoints for ptrace and scope denials landlock: Add landlock_deny_access_fs and landlock_deny_access_net landlock: Add tracepoints for rule checking landlock: Add landlock_enforce_domain tracepoint landlock: Add create_domain and free_domain tracepoints landlock: Add landlock_add_rule_fs and landlock_add_rule_net tracepoints landlock: Add create_ruleset and free_ruleset tracepoints landlock: Consolidate access-right and scope names in a shared header landlock: Decouple the per-denial logging decision from CONFIG_AUDIT landlock: Split denial logging from audit into common framework landlock: Split struct landlock_domain from struct landlock_ruleset landlock: Move domain query functions to domain.c landlock: Prepare ruleset and domain type split samples/landlock: Add LANDLOCK_RESTRICT_SELF_NO_NEW_PRIVS to sampler ...
This commit is contained in:
@@ -191,12 +191,25 @@ struct landlock_ruleset_attr {
|
||||
*
|
||||
* If the calling thread is running with no_new_privs, this operation
|
||||
* enables no_new_privs on the sibling threads as well.
|
||||
*
|
||||
* The following flag ties the no_new_privs attribute to the ruleset
|
||||
* enforcement:
|
||||
*
|
||||
* %LANDLOCK_RESTRICT_SELF_NO_NEW_PRIVS
|
||||
* Sets the no_new_privs attribute of the calling thread only once the
|
||||
* enforcement of the ruleset succeeded: no_new_privs is set if and only
|
||||
* if sys_landlock_restrict_self() succeeds. This removes the need for a
|
||||
* prior :manpage:`prctl(2)` ``PR_SET_NO_NEW_PRIVS`` call (or
|
||||
* %CAP_SYS_ADMIN use). This flag requires a ruleset. When
|
||||
* combined with %LANDLOCK_RESTRICT_SELF_TSYNC, no_new_privs is set on the
|
||||
* sibling threads as well.
|
||||
*/
|
||||
/* clang-format off */
|
||||
#define LANDLOCK_RESTRICT_SELF_LOG_SAME_EXEC_OFF (1U << 0)
|
||||
#define LANDLOCK_RESTRICT_SELF_LOG_NEW_EXEC_ON (1U << 1)
|
||||
#define LANDLOCK_RESTRICT_SELF_LOG_SUBDOMAINS_OFF (1U << 2)
|
||||
#define LANDLOCK_RESTRICT_SELF_TSYNC (1U << 3)
|
||||
#define LANDLOCK_RESTRICT_SELF_NO_NEW_PRIVS (1U << 4)
|
||||
/* clang-format on */
|
||||
|
||||
/**
|
||||
@@ -315,16 +328,16 @@ struct landlock_net_port_attr {
|
||||
* :manpage:`connect(2)` as well as calls to :manpage:`sendmsg(2)` with an
|
||||
* explicit recipient address.
|
||||
*
|
||||
* This access right only applies to connections to UNIX server sockets which
|
||||
* This access right applies only to connections to UNIX server sockets which
|
||||
* were created outside of the newly created Landlock domain (e.g. from within
|
||||
* a parent domain or from an unrestricted process). Newly created UNIX
|
||||
* servers within the same Landlock domain continue to be accessible. In this
|
||||
* regard, %LANDLOCK_ACCESS_FS_RESOLVE_UNIX has the same semantics as the
|
||||
* ``LANDLOCK_SCOPE_*`` flags.
|
||||
*
|
||||
* If a resolve attempt is denied, the operation returns an ``EACCES`` error,
|
||||
* in line with other filesystem access rights (but different to denials for
|
||||
* abstract UNIX domain sockets).
|
||||
* If a resolution attempt is denied, the operation returns an ``EACCES``
|
||||
* error, in line with other filesystem access rights (but different to
|
||||
* denials for abstract UNIX domain sockets).
|
||||
*
|
||||
* This access right is available since the ninth version of the Landlock ABI.
|
||||
*
|
||||
@@ -351,6 +364,7 @@ struct landlock_net_port_attr {
|
||||
* device.
|
||||
* - %LANDLOCK_ACCESS_FS_MAKE_DIR: Create (or rename) a directory.
|
||||
* - %LANDLOCK_ACCESS_FS_MAKE_REG: Create (or rename or link) a regular file.
|
||||
* This also guards the creation of whiteout objects as used in OverlayFS.
|
||||
* - %LANDLOCK_ACCESS_FS_MAKE_SOCK: Create (or rename or link) a UNIX domain
|
||||
* socket.
|
||||
* - %LANDLOCK_ACCESS_FS_MAKE_FIFO: Create (or rename or link) a named pipe.
|
||||
|
||||
Reference in New Issue
Block a user