[RFC PATCH v1 0/3] Expose Landlock domain IDs via pidfd

Mickaël Salaün mic at digikod.net
Fri Jan 31 17:35:49 UTC 2025


On Fri, Jan 31, 2025 at 05:34:44PM +0100, Mickaël Salaün wrote:
> Hi,
> 
> Landlock enables users to create unprivileged nested security sandboxes
> (i.e. domains).  Each of these domains get a unique ID, which is used to
> identify and compare different domains.  With the audit support, these
> IDs will be used in logs, but users also need a way to map these IDs to
> processes and directly read domain IDs of arbitrary tasks.
> 
> pidfd is a reference to a task that enables users to interact with it
> and read some of its properties with the PIDFD_GET_INFO IOCTL.  This
> patch series extend this interface with two new properties:
> PIDFD_INFO_LANDLOCK_LAST_DOMAIN and PIDFD_INFO_LANDLOCK_FIRST_DOMAIN.
> 
> Being able to read tasks' domain IDs is useful for telemetry, debugging, and
> tests.  It enables users:
> - to know if a task is well sandboxed;
> - to know which tasks are part of the same sandbox;
> - to map Landlock audit logs to running processes.
> 
> Furthermore, thanks to recvmsg(2)'s SCM_PIDFD, it is also possible to reliably
> identify a peer's sandbox.
> 
> This patch series is based on the audit support patch series v5:
> https://lore.kernel.org/all/20250108154338.1129069-1-mic@digikod.net/

That was the v4, here is the v5:
https://lore.kernel.org/all/20250131163059.1139617-1-mic@digikod.net/

> 
> I'll talk about this feature at FOSDEM:
> https://fosdem.org/2025/schedule/event/fosdem-2025-6071-sandbox-ids-with-landlock/
> 
> Regards,
> 
> Mickaël Salaün (3):
>   landlock: Add landlock_read_domain_id()
>   pidfd: Extend PIDFD_GET_INFO with PIDFD_INFO_LANDLOCK_*_DOMAIN
>   samples/landlock: Print domain ID
> 
>  fs/pidfs.c                   | 24 +++++++++++-
>  include/linux/landlock.h     | 26 +++++++++++++
>  include/uapi/linux/pidfd.h   |  4 ++
>  samples/landlock/sandboxer.c | 29 +++++++++++++-
>  security/landlock/Makefile   | 12 ++++--
>  security/landlock/domain.c   |  2 -
>  security/landlock/domain.h   |  8 ++--
>  security/landlock/ruleset.c  |  2 +
>  security/landlock/syscalls.c | 75 ++++++++++++++++++++++++++++++++++++
>  9 files changed, 169 insertions(+), 13 deletions(-)
>  create mode 100644 include/linux/landlock.h
> 
> 
> base-commit: a4b76d5e6800121372b88c85628a7867a5fdc707
> -- 
> 2.48.1
> 
> 



More information about the Linux-security-module-archive mailing list