root/security/landlock/errata/abi-6.h
/* SPDX-License-Identifier: GPL-2.0-only */

/**
 * DOC: erratum_2
 *
 * Erratum 2: Scoped signal handling
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 *
 * This fix addresses an issue where signal scoping was overly restrictive,
 * preventing sandboxed threads from signaling other threads within the same
 * process if they belonged to different domains.  Because threads are not
 * security boundaries, user space might assume that all threads within the same
 * process can send signals between themselves (see :manpage:`nptl(7)` and
 * :manpage:`libpsx(3)`).  Consistent with :manpage:`ptrace(2)` behavior, direct
 * interaction between threads of the same process should always be allowed.
 * This change ensures that any thread is allowed to send signals to any other
 * thread within the same process, regardless of their domain.
 *
 * Impact:
 *
 * This problem only manifests when the userspace process is itself using
 * :manpage:`libpsx(3)` or an equivalent mechanism to enforce a Landlock policy
 * on multiple already-running threads at once.  Programs which enforce a
 * Landlock policy at startup time and only then become multithreaded are not
 * affected.  Without this fix, signal scoping could break multi-threaded
 * applications that expect threads within the same process to freely signal
 * each other.
 */
LANDLOCK_ERRATUM(2)