<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in listns_test.c</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2025</copyright>
    <generator>Java</generator><item>
        <title>cc4adab164b772a34b3340d644b7c4728498581e - Merge tag &apos;v6.19-rc1&apos; into msm-next</title>
        <link>http://opengrok.net:8080/history/linux/tools/testing/selftests/namespaces/listns_test.c#cc4adab164b772a34b3340d644b7c4728498581e</link>
        <description>Merge tag &apos;v6.19-rc1&apos; into msm-nextMerge Linux 6.19-rc1 in order to catch up with other changes (e.g. UBWCconfig database defining UBWC_6).Signed-off-by: Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;

            List of files:
            /linux/tools/testing/selftests/namespaces/listns_test.c</description>
        <pubDate>Tue, 20 Jan 2026 22:06:55 +0000</pubDate>
        <dc:creator>Dmitry Baryshkov &lt;dmitry.baryshkov@oss.qualcomm.com&gt;</dc:creator>
    </item>
<item>
        <title>5add3c3c280a35f7e258e9cef7607db5a2e56fdc - Merge drm/drm-next into drm-xe-next</title>
        <link>http://opengrok.net:8080/history/linux/tools/testing/selftests/namespaces/listns_test.c#5add3c3c280a35f7e258e9cef7607db5a2e56fdc</link>
        <description>Merge drm/drm-next into drm-xe-nextBackmerging to bring in 6.19-rc1. An important upstream bugfix andto help unblock PTL CI.Signed-off-by: Thomas Hellstr&#246;m &lt;thomas.hellstrom@linux.intel.com&gt;

            List of files:
            /linux/tools/testing/selftests/namespaces/listns_test.c</description>
        <pubDate>Fri, 19 Dec 2025 10:51:22 +0000</pubDate>
        <dc:creator>Thomas Hellstr&#246;m &lt;thomas.hellstrom@linux.intel.com&gt;</dc:creator>
    </item>
<item>
        <title>b8304863a3990d0f18c38e5b94191830a63ee1af - Merge drm/drm-next into drm-intel-next</title>
        <link>http://opengrok.net:8080/history/linux/tools/testing/selftests/namespaces/listns_test.c#b8304863a3990d0f18c38e5b94191830a63ee1af</link>
        <description>Merge drm/drm-next into drm-intel-nextSync-up some display code needed for Async flips refactor.Signed-off-by: Rodrigo Vivi &lt;rodrigo.vivi@intel.com&gt;

            List of files:
            /linux/tools/testing/selftests/namespaces/listns_test.c</description>
        <pubDate>Mon, 15 Dec 2025 13:24:02 +0000</pubDate>
        <dc:creator>Rodrigo Vivi &lt;rodrigo.vivi@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>7f790dd21a931c61167f7bdc327aecf2cebad327 - Merge drm/drm-next into drm-misc-next</title>
        <link>http://opengrok.net:8080/history/linux/tools/testing/selftests/namespaces/listns_test.c#7f790dd21a931c61167f7bdc327aecf2cebad327</link>
        <description>Merge drm/drm-next into drm-misc-nextLet&apos;s kickstart the v6.20 (7.0?) release cycle.Signed-off-by: Maxime Ripard &lt;mripard@kernel.org&gt;

            List of files:
            /linux/tools/testing/selftests/namespaces/listns_test.c</description>
        <pubDate>Mon, 15 Dec 2025 08:27:39 +0000</pubDate>
        <dc:creator>Maxime Ripard &lt;mripard@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>24f171c7e145f43b9f187578e89b0982ce87e54c - Merge tag &apos;asoc-fix-v6.19-rc1&apos; of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus</title>
        <link>http://opengrok.net:8080/history/linux/tools/testing/selftests/namespaces/listns_test.c#24f171c7e145f43b9f187578e89b0982ce87e54c</link>
        <description>Merge tag &apos;asoc-fix-v6.19-rc1&apos; of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linusASoC: Fixes for v6.19We&apos;ve been quite busy with fixes since the merge window, though not inany particularly exciting ways - the standout thing is the fix for _SXcontrols which were broken by a change to how we do clamping, otherwiseit&apos;s all fairly run of the mill fixes and quirks.

            List of files:
            /linux/tools/testing/selftests/namespaces/listns_test.c</description>
        <pubDate>Sun, 21 Dec 2025 10:11:11 +0000</pubDate>
        <dc:creator>Takashi Iwai &lt;tiwai@suse.de&gt;</dc:creator>
    </item>
<item>
        <title>84318277d6334c6981ab326d4acc87c6a6ddc9b8 - Merge remote-tracking branch &apos;drm/drm-fixes&apos; into drm-misc-fixes</title>
        <link>http://opengrok.net:8080/history/linux/tools/testing/selftests/namespaces/listns_test.c#84318277d6334c6981ab326d4acc87c6a6ddc9b8</link>
        <description>Merge remote-tracking branch &apos;drm/drm-fixes&apos; into drm-misc-fixesPull in rc1 to include all changes since the merge window closed,and grab all fixes and changes from drm/drm-next.Signed-off-by: Maarten Lankhorst &lt;dev@lankhorst.se&gt;

            List of files:
            /linux/tools/testing/selftests/namespaces/listns_test.c</description>
        <pubDate>Mon, 15 Dec 2025 11:53:27 +0000</pubDate>
        <dc:creator>Maarten Lankhorst &lt;dev@lankhorst.se&gt;</dc:creator>
    </item>
<item>
        <title>415d34b92c1f921a9ff3c38f56319cbc5536f642 - Merge tag &apos;namespace-6.19-rc1&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs</title>
        <link>http://opengrok.net:8080/history/linux/tools/testing/selftests/namespaces/listns_test.c#415d34b92c1f921a9ff3c38f56319cbc5536f642</link>
        <description>Merge tag &apos;namespace-6.19-rc1&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfsPull namespace updates from Christian Brauner: &quot;This contains substantial namespace infrastructure changes including a new  system call, active reference counting, and extensive header cleanups.  The branch depends on the shared kbuild branch for -fms-extensions support.  Features:   - listns() system call     Add a new listns() system call that allows userspace to iterate     through namespaces in the system. This provides a programmatic     interface to discover and inspect namespaces, addressing     longstanding limitations:     Currently, there is no direct way for userspace to enumerate     namespaces. Applications must resort to scanning /proc/*/ns/ across     all processes, which is:      - Inefficient - requires iterating over all processes      - Incomplete - misses namespaces not attached to any running        process but kept alive by file descriptors, bind mounts, or        parent references      - Permission-heavy - requires access to /proc for many processes      - No ordering or ownership information      - No filtering per namespace type     The listns() system call solves these problems:       ssize_t listns(const struct ns_id_req *req, u64 *ns_ids,                      size_t nr_ns_ids, unsigned int flags);       struct ns_id_req {             __u32 size;             __u32 spare;             __u64 ns_id;             struct /* listns */ {                     __u32 ns_type;                     __u32 spare2;                     __u64 user_ns_id;             };       };     Features include:      - Pagination support for large namespace sets      - Filtering by namespace type (MNT_NS, NET_NS, USER_NS, etc.)      - Filtering by owning user namespace      - Permission checks respecting namespace isolation   - Active Reference Counting     Introduce an active reference count that tracks namespace     visibility to userspace. A namespace is visible in the following     cases:      - The namespace is in use by a task      - The namespace is persisted through a VFS object (namespace file        descriptor or bind-mount)      - The namespace is a hierarchical type and is the parent of child        namespaces     The active reference count does not regulate lifetime (that&apos;s still     done by the normal reference count) - it only regulates visibility     to namespace file handles and listns().     This prevents resurrection of namespaces that are pinned only for     internal kernel reasons (e.g., user namespaces held by     file-&gt;f_cred, lazy TLB references on idle CPUs, etc.) which should     not be accessible via (1)-(3).   - Unified Namespace Tree     Introduce a unified tree structure for all namespaces with:      - Fixed IDs assigned to initial namespaces      - Lookup based solely on inode number      - Maintained list of owned namespaces per user namespace      - Simplified rbtree comparison helpers   Cleanups    - Header Reorganization:      - Move namespace types into separate header (ns_common_types.h)      - Decouple nstree from ns_common header      - Move nstree types into separate header      - Switch to new ns_tree_{node,root} structures with helper functions      - Use guards for ns_tree_lock   - Initial Namespace Reference Count Optimization      - Make all reference counts on initial namespaces a nop to avoid        pointless cacheline ping-pong for namespaces that can never go        away      - Drop custom reference count initialization for initial namespaces      - Add NS_COMMON_INIT() macro and use it for all namespaces      - pid: rely on common reference count behavior   - Miscellaneous Cleanups      - Rename exit_task_namespaces() to exit_nsproxy_namespaces()      - Rename is_initial_namespace() and make argument const      - Use boolean to indicate anonymous mount namespace      - Simplify owner list iteration in nstree      - nsfs: raise SB_I_NODEV, SB_I_NOEXEC, and DCACHE_DONTCACHE explicitly      - nsfs: use inode_just_drop()      - pidfs: raise DCACHE_DONTCACHE explicitly      - pidfs: simplify PIDFD_GET__NAMESPACE ioctls      - libfs: allow to specify s_d_flags      - cgroup: add cgroup namespace to tree after owner is set      - nsproxy: fix free_nsproxy() and simplify create_new_namespaces()  Fixes:   - setns(pidfd, ...) race condition     Fix a subtle race when using pidfds with setns(). When the target     task exits after prepare_nsset() but before commit_nsset(), the     namespace&apos;s active reference count might have been dropped. If     setns() then installs the namespaces, it would bump the active     reference count from zero without taking the required reference on     the owner namespace, leading to underflow when later decremented.     The fix resurrects the ownership chain if necessary - if the caller     succeeded in grabbing passive references, the setns() should     succeed even if the target task exits or gets reaped.   - Return EFAULT on put_user() error instead of success   - Make sure references are dropped outside of RCU lock (some     namespaces like mount namespace sleep when putting the last     reference)   - Don&apos;t skip active reference count initialization for network     namespace   - Add asserts for active refcount underflow   - Add asserts for initial namespace reference counts (both passive     and active)   - ipc: enable is_ns_init_id() assertions   - Fix kernel-doc comments for internal nstree functions   - Selftests      - 15 active reference count tests      - 9 listns() functionality tests      - 7 listns() permission tests      - 12 inactive namespace resurrection tests      - 3 threaded active reference count tests      - commit_creds() active reference tests      - Pagination and stress tests      - EFAULT handling test      - nsid tests fixes&quot;* tag &apos;namespace-6.19-rc1&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs: (103 commits)  pidfs: simplify PIDFD_GET_&lt;type&gt;_NAMESPACE ioctls  nstree: fix kernel-doc comments for internal functions  nsproxy: fix free_nsproxy() and simplify create_new_namespaces()  selftests/namespaces: fix nsid tests  ns: drop custom reference count initialization for initial namespaces  pid: rely on common reference count behavior  ns: add asserts for initial namespace active reference counts  ns: add asserts for initial namespace reference counts  ns: make all reference counts on initial namespace a nop  ipc: enable is_ns_init_id() assertions  fs: use boolean to indicate anonymous mount namespace  ns: rename is_initial_namespace()  ns: make is_initial_namespace() argument const  nstree: use guards for ns_tree_lock  nstree: simplify owner list iteration  nstree: switch to new structures  nstree: add helper to operate on struct ns_tree_{node,root}  nstree: move nstree types into separate header  nstree: decouple from ns_common header  ns: move namespace types into separate header  ...

            List of files:
            /linux/tools/testing/selftests/namespaces/listns_test.c</description>
        <pubDate>Mon, 01 Dec 2025 17:47:41 +0000</pubDate>
        <dc:creator>Linus Torvalds &lt;torvalds@linux-foundation.org&gt;</dc:creator>
    </item>
<item>
        <title>8ebfb9896c97ab609222460e705f425cb3f0aad0 - Merge patch series &quot;nstree: listns()&quot;</title>
        <link>http://opengrok.net:8080/history/linux/tools/testing/selftests/namespaces/listns_test.c#8ebfb9896c97ab609222460e705f425cb3f0aad0</link>
        <description>Merge patch series &quot;nstree: listns()&quot;Christian Brauner &lt;brauner@kernel.org&gt; says:As announced a while ago this is the next step building on the nstreework from prior cycles. There&apos;s a bunch of fixes and semantic cleanupsin here and a ton of tests.Currently listns() is relying on active namespace reference counts whichare introduced alongside this series.While a namespace is on the namespace trees with a valid reference countit is possible to reopen it through a namespace file handle. This is allfine but has some issues that should be addressed.On current kernels a namespace is visible to userspace in thefollowing cases:(1) The namespace is in use by a task.(2) The namespace is persisted through a VFS object (namespace file    descriptor or bind-mount).    Note that (2) only cares about direct persistence of the namespace    itself not indirectly via e.g., file-&gt;f_cred file references or    similar.(3) The namespace is a hierarchical namespace type and is the parent of    a single or multiple child namespaces.Case (3) is interesting because it is possible that a parent namespacemight not fulfill any of (1) or (2), i.e., is invisible to userspace butit may still be resurrected through the NS_GET_PARENT ioctl().Currently namespace file handles allow much broader access to namespacesthan what is currently possible via (1)-(3). The reason is thatnamespaces may remain pinned for completely internal reasons yet areinaccessible to userspace.For example, a user namespace my remain pinned by get_cred() calls tostash the opener&apos;s credentials into file-&gt;f_cred. As it stands filehandles allow to resurrect such a users namespace even though thisshould not be possible via (1)-(3). This is a fundamental uapi changethat we shouldn&apos;t do if we don&apos;t have to.Consider the following insane case: Various architectures support theCONFIG_MMU_LAZY_TLB_REFCOUNT option which uses lazy TLB destruction.When this option is set a userspace task&apos;s struct mm_struct may be usedfor kernel threads such as the idle task and will only be destroyed oncethe cpu&apos;s runqueue switches back to another task. But because of ptrace()permission checks struct mm_struct stashes the user namespace of thetask that struct mm_struct originally belonged to. The kernel threadwill take a reference on the struct mm_struct and thus pin it.So on an idle system user namespaces can be persisted for arbitraryamounts of time which also means that they can be resurrected usingnamespace file handles. That makes no sense whatsoever. The problem isof course excarabted on large systems with a huge number of cpus.To handle this nicely we introduce an active reference count whichtracks (1)-(3). This is easy to do as all of these things are alreadymanaged centrally. Only (1)-(3) will count towards the active referencecount and only namespaces which are active may be opened via namespacefile handles.The problem is that namespaces may be resurrected. Which means that theycan become temporarily inactive and will be reactived some time later.Currently the only example of this is the SIOGCSKNS socket ioctl. TheSIOCGSKNS ioctl allows to open a network namespace file descriptor basedon a socket file descriptor.If a socket is tied to a network namespace that subsequently becomesinactive but that socket is persisted by another process in anothernetwork namespace (e.g., via SCM_RIGHTS of pidfd_getfd()) then theSIOCGSKNS ioctl will resurrect this network namespace.So calls to open_related_ns() and open_namespace() will end upresurrecting the corresponding namespace tree.Note that the active reference count does not regulate the lifetime ofthe namespace itself. This is still done by the normal reference count.The active reference count can only be elevated if the regular referencecount is elevated.The active reference count also doesn&apos;t regulate the presence of anamespace on the namespace trees. It only regulates its visiblity tonamespace file handles (and in later patches to listns()).A namespace remains on the namespace trees from creation until itsactual destruction. This will allow the kernel to always reach anynamespace trivially and it will also enable subsystems like bpf to walkthe namespace lists on the system for tracing or general introspectionpurposes.Note that different namespaces have different visibility lifetimes oncurrent kernels. While most namespace are immediately released when thelast task using them exits, the user- and pid namespace are persistedand thus both remain accessible via /proc/&lt;pid&gt;/ns/&lt;ns_type&gt;.The user namespace lifetime is aliged with struct cred and is onlyreleased through exit_creds(). However, it becomes inaccessible touserspace once the last task using it is reaped, i.e., whenrelease_task() is called and all proc entries are flushed. Similarly,the pid namespace is also visible until the last task using it has beenreaped and the associated pid numbers are freed.The active reference counts of the user- and pid namespace aredecremented once the task is reaped.Based on the namespace trees and the active reference count, a newlistns() system call that allows userspace to iterate through namespacesin the system. This provides a programmatic interface to discover andinspect namespaces, enhancing existing namespace apis.Currently, there is no direct way for userspace to enumerate namespacesin the system. Applications must resort to scanning /proc/&lt;pid&gt;/ns/across all processes, which is:1. Inefficient - requires iterating over all processes2. Incomplete - misses inactive namespaces that aren&apos;t attached to any   running process but are kept alive by file descriptors, bind mounts,   or parent namespace references3. Permission-heavy - requires access to /proc for many processes4. No ordering or ownership.5. No filtering per namespace type: Must always iterate and check all   namespaces.The list goes on. The listns() system call solves these problems byproviding direct kernel-level enumeration of namespaces. It is similarto listmount() but obviously tailored to namespaces./* * @req: Pointer to struct ns_id_req specifying search parameters * @ns_ids: User buffer to receive namespace IDs * @nr_ns_ids: Size of ns_ids buffer (maximum number of IDs to return) * @flags: Reserved for future use (must be 0) */ssize_t listns(const struct ns_id_req *req, u64 *ns_ids,               size_t nr_ns_ids, unsigned int flags);Returns:- On success: Number of namespace IDs written to ns_ids- On error: Negative error code/* * @size: Structure size * @ns_id: Starting point for iteration; use 0 for first call, then *         use the last returned ID for subsequent calls to paginate * @ns_type: Bitmask of namespace types to include (from enum ns_type): *           0: Return all namespace types *           MNT_NS: Mount namespaces *           NET_NS: Network namespaces *           USER_NS: User namespaces *           etc. Can be OR&apos;d together * @user_ns_id: Filter results to namespaces owned by this user namespace: *              0: Return all namespaces (subject to permission checks) *              LISTNS_CURRENT_USER: Namespaces owned by caller&apos;s user namespace *              Other value: Namespaces owned by the specified user namespace ID */struct ns_id_req {        __u32 size;         /* sizeof(struct ns_id_req) */        __u32 spare;        /* Reserved, must be 0 */        __u64 ns_id;        /* Last seen namespace ID (for pagination) */        __u32 ns_type;      /* Filter by namespace type(s) */        __u32 spare2;       /* Reserved, must be 0 */        __u64 user_ns_id;   /* Filter by owning user namespace */};Example 1: List all namespacesvoid list_all_namespaces(void){	struct ns_id_req req = {		.size = sizeof(req),		.ns_id = 0,      /* Start from beginning */		.ns_type = 0,    /* All types */		.user_ns_id = 0, /* All user namespaces */	};	uint64_t ids[100];	ssize_t ret;	printf(&quot;All namespaces in the system:\n&quot;);	do {		ret = listns(&amp;req, ids, 100, 0);		if (ret &lt; 0) {			perror(&quot;listns&quot;);			break;		}		for (ssize_t i = 0; i &lt; ret; i++)			printf(&quot;  Namespace ID: %llu\n&quot;, (unsigned long long)ids[i]);		/* Continue from last seen ID */		if (ret &gt; 0)			req.ns_id = ids[ret - 1];	} while (ret == 100); /* Buffer was full, more may exist */}Example 2 : List network namespaces onlyvoid list_network_namespaces(void){	struct ns_id_req req = {		.size = sizeof(req),		.ns_id = 0,		.ns_type = NET_NS, /* Only network namespaces */		.user_ns_id = 0,	};	uint64_t ids[100];	ssize_t ret;	ret = listns(&amp;req, ids, 100, 0);	if (ret &lt; 0) {		perror(&quot;listns&quot;);		return;	}	printf(&quot;Network namespaces: %zd found\n&quot;, ret);	for (ssize_t i = 0; i &lt; ret; i++)		printf(&quot;  netns ID: %llu\n&quot;, (unsigned long long)ids[i]);}Example 3 : List namespaces owned by current user namespacevoid list_owned_namespaces(void){	struct ns_id_req req = {		.size = sizeof(req),		.ns_id = 0,		.ns_type = 0,                      /* All types */		.user_ns_id = LISTNS_CURRENT_USER, /* Current userns */	};	uint64_t ids[100];	ssize_t ret;	ret = listns(&amp;req, ids, 100, 0);	if (ret &lt; 0) {		perror(&quot;listns&quot;);		return;	}	printf(&quot;Namespaces owned by my user namespace: %zd\n&quot;, ret);	for (ssize_t i = 0; i &lt; ret; i++)		printf(&quot;  ns ID: %llu\n&quot;, (unsigned long long)ids[i]);}Example 4 : List multiple namespace typesvoid list_network_and_mount_namespaces(void){	struct ns_id_req req = {		.size = sizeof(req),		.ns_id = 0,		.ns_type = NET_NS | MNT_NS, /* Network and mount */		.user_ns_id = 0,	};	uint64_t ids[100];	ssize_t ret;	ret = listns(&amp;req, ids, 100, 0);	printf(&quot;Network and mount namespaces: %zd found\n&quot;, ret);}Example 5 : Pagination through large namespace setsvoid list_all_with_pagination(void){	struct ns_id_req req = {		.size = sizeof(req),		.ns_id = 0,		.ns_type = 0,		.user_ns_id = 0,	};	uint64_t ids[50];	size_t total = 0;	ssize_t ret;	printf(&quot;Enumerating all namespaces with pagination:\n&quot;);	while (1) {		ret = listns(&amp;req, ids, 50, 0);		if (ret &lt; 0) {			perror(&quot;listns&quot;);			break;		}		if (ret == 0)			break; /* No more namespaces */		total += ret;		printf(&quot;  Batch: %zd namespaces\n&quot;, ret);		/* Last ID in this batch becomes start of next batch */		req.ns_id = ids[ret - 1];		if (ret &lt; 50)			break; /* Partial batch = end of results */	}	printf(&quot;Total: %zu namespaces\n&quot;, total);}listns() respects namespace isolation and capabilities:(1) Global listing (user_ns_id = 0):    - Requires CAP_SYS_ADMIN in the namespace&apos;s owning user namespace    - OR the namespace must be in the caller&apos;s namespace context (e.g.,      a namespace the caller is currently using)    - User namespaces additionally allow listing if the caller has      CAP_SYS_ADMIN in that user namespace itself(2) Owner-filtered listing (user_ns_id != 0):    - Requires CAP_SYS_ADMIN in the specified owner user namespace    - OR the namespace must be in the caller&apos;s namespace context    - This allows unprivileged processes to enumerate namespaces they own(3) Visibility:    - Only &quot;active&quot; namespaces are listed    - A namespace is active if it has a non-zero __ns_ref_active count    - This includes namespaces used by running processes, held by open      file descriptors, or kept active by bind mounts    - Inactive namespaces (kept alive only by internal kernel      references) are not visible via listns()* patches from https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-0-2e6f823ebdc0@kernel.org: (74 commits)  selftests/namespace: test listns() pagination  selftests/namespace: add stress test  selftests/namespace: commit_creds() active reference tests  selftests/namespace: third threaded active reference count test  selftests/namespace: second threaded active reference count test  selftests/namespace: first threaded active reference count test  selftests/namespaces: twelth inactive namespace resurrection test  selftests/namespaces: eleventh inactive namespace resurrection test  selftests/namespaces: tenth inactive namespace resurrection test  selftests/namespaces: ninth inactive namespace resurrection test  selftests/namespaces: eigth inactive namespace resurrection test  selftests/namespaces: seventh inactive namespace resurrection test  selftests/namespaces: sixth inactive namespace resurrection test  selftests/namespaces: fifth inactive namespace resurrection test  selftests/namespaces: fourth inactive namespace resurrection test  selftests/namespaces: third inactive namespace resurrection test  selftests/namespaces: second inactive namespace resurrection test  selftests/namespaces: first inactive namespace resurrection test  selftests/namespaces: seventh listns() permission test  selftests/namespaces: sixth listns() permission test  ...Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-0-2e6f823ebdc0@kernel.orgSigned-off-by: Christian Brauner &lt;brauner@kernel.org&gt;

            List of files:
            /linux/tools/testing/selftests/namespaces/listns_test.c</description>
        <pubDate>Thu, 30 Oct 2025 12:04:20 +0000</pubDate>
        <dc:creator>Christian Brauner &lt;brauner@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>674294a479fc0e587b758c2ecb7dcfe8373e6be8 - selftests/namespaces: ninth listns() test</title>
        <link>http://opengrok.net:8080/history/linux/tools/testing/selftests/namespaces/listns_test.c#674294a479fc0e587b758c2ecb7dcfe8373e6be8</link>
        <description>selftests/namespaces: ninth listns() testTest error cases for listns().Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-47-2e6f823ebdc0@kernel.orgReviewed-by: Jeff Layton &lt;jlayton@kernel.org&gt;Signed-off-by: Christian Brauner &lt;brauner@kernel.org&gt;

            List of files:
            /linux/tools/testing/selftests/namespaces/listns_test.c</description>
        <pubDate>Wed, 29 Oct 2025 12:21:00 +0000</pubDate>
        <dc:creator>Christian Brauner &lt;brauner@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>b0de4c80fb836f74dbd9e02612e240f5f8026aca - selftests/namespaces: eigth listns() test</title>
        <link>http://opengrok.net:8080/history/linux/tools/testing/selftests/namespaces/listns_test.c#b0de4c80fb836f74dbd9e02612e240f5f8026aca</link>
        <description>selftests/namespaces: eigth listns() testTest that hierarchical active reference propagation keeps parentuser namespaces visible in listns().Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-46-2e6f823ebdc0@kernel.orgReviewed-by: Jeff Layton &lt;jlayton@kernel.org&gt;Signed-off-by: Christian Brauner &lt;brauner@kernel.org&gt;

            List of files:
            /linux/tools/testing/selftests/namespaces/listns_test.c</description>
        <pubDate>Wed, 29 Oct 2025 12:20:59 +0000</pubDate>
        <dc:creator>Christian Brauner &lt;brauner@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>6aeca1dd493ba5afb4ae2e1091f93f4bf9675b12 - selftests/namespaces: seventh listns() test</title>
        <link>http://opengrok.net:8080/history/linux/tools/testing/selftests/namespaces/listns_test.c#6aeca1dd493ba5afb4ae2e1091f93f4bf9675b12</link>
        <description>selftests/namespaces: seventh listns() testTest listns() with multiple namespace types filter.Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-45-2e6f823ebdc0@kernel.orgTested-by: syzbot@syzkaller.appspotmail.comReviewed-by: Jeff Layton &lt;jlayton@kernel.org&gt;Signed-off-by: Christian Brauner &lt;brauner@kernel.org&gt;

            List of files:
            /linux/tools/testing/selftests/namespaces/listns_test.c</description>
        <pubDate>Wed, 29 Oct 2025 12:20:58 +0000</pubDate>
        <dc:creator>Christian Brauner &lt;brauner@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>bc8da67e0e1e7eca9289736584c876259eace9fa - selftests/namespaces: sixth listns() test</title>
        <link>http://opengrok.net:8080/history/linux/tools/testing/selftests/namespaces/listns_test.c#bc8da67e0e1e7eca9289736584c876259eace9fa</link>
        <description>selftests/namespaces: sixth listns() testTest listns() with specific user namespace ID.Create a user namespace and list namespaces it owns.Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-44-2e6f823ebdc0@kernel.orgReviewed-by: Jeff Layton &lt;jlayton@kernel.org&gt;Signed-off-by: Christian Brauner &lt;brauner@kernel.org&gt;

            List of files:
            /linux/tools/testing/selftests/namespaces/listns_test.c</description>
        <pubDate>Wed, 29 Oct 2025 12:20:57 +0000</pubDate>
        <dc:creator>Christian Brauner &lt;brauner@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>4080b9d946f4eddd055d7470e55505f8da434c33 - selftests/namespaces: fifth listns() test</title>
        <link>http://opengrok.net:8080/history/linux/tools/testing/selftests/namespaces/listns_test.c#4080b9d946f4eddd055d7470e55505f8da434c33</link>
        <description>selftests/namespaces: fifth listns() testTest that listns() only returns active namespaces.Create a namespace, let it become inactive, verify it&apos;s not listed.Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-43-2e6f823ebdc0@kernel.orgReviewed-by: Jeff Layton &lt;jlayton@kernel.org&gt;Signed-off-by: Christian Brauner &lt;brauner@kernel.org&gt;

            List of files:
            /linux/tools/testing/selftests/namespaces/listns_test.c</description>
        <pubDate>Wed, 29 Oct 2025 12:20:56 +0000</pubDate>
        <dc:creator>Christian Brauner &lt;brauner@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>abac8de3e5000b2b448bab4a9d19e35ce32e80ce - selftests/namespaces: fourth listns() test</title>
        <link>http://opengrok.net:8080/history/linux/tools/testing/selftests/namespaces/listns_test.c#abac8de3e5000b2b448bab4a9d19e35ce32e80ce</link>
        <description>selftests/namespaces: fourth listns() testTest listns() with LISTNS_CURRENT_USER.List namespaces owned by current user namespace.Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-42-2e6f823ebdc0@kernel.orgTested-by: syzbot@syzkaller.appspotmail.comReviewed-by: Jeff Layton &lt;jlayton@kernel.org&gt;Signed-off-by: Christian Brauner &lt;brauner@kernel.org&gt;

            List of files:
            /linux/tools/testing/selftests/namespaces/listns_test.c</description>
        <pubDate>Wed, 29 Oct 2025 12:20:55 +0000</pubDate>
        <dc:creator>Christian Brauner &lt;brauner@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>46909d13434bf73d09a224c1e5fca409adc94f10 - selftests/namespaces: third listns() test</title>
        <link>http://opengrok.net:8080/history/linux/tools/testing/selftests/namespaces/listns_test.c#46909d13434bf73d09a224c1e5fca409adc94f10</link>
        <description>selftests/namespaces: third listns() testTest listns() pagination.List namespaces in batches.Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-41-2e6f823ebdc0@kernel.orgTested-by: syzbot@syzkaller.appspotmail.comReviewed-by: Jeff Layton &lt;jlayton@kernel.org&gt;Signed-off-by: Christian Brauner &lt;brauner@kernel.org&gt;

            List of files:
            /linux/tools/testing/selftests/namespaces/listns_test.c</description>
        <pubDate>Wed, 29 Oct 2025 12:20:54 +0000</pubDate>
        <dc:creator>Christian Brauner &lt;brauner@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>6a68c7f919d9068b9b857be8085af3d59ff0084c - selftests/namespaces: second listns() test</title>
        <link>http://opengrok.net:8080/history/linux/tools/testing/selftests/namespaces/listns_test.c#6a68c7f919d9068b9b857be8085af3d59ff0084c</link>
        <description>selftests/namespaces: second listns() testtest listns() with type filtering.List only network namespaces.Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-40-2e6f823ebdc0@kernel.orgTested-by: syzbot@syzkaller.appspotmail.comReviewed-by: Jeff Layton &lt;jlayton@kernel.org&gt;Signed-off-by: Christian Brauner &lt;brauner@kernel.org&gt;

            List of files:
            /linux/tools/testing/selftests/namespaces/listns_test.c</description>
        <pubDate>Wed, 29 Oct 2025 12:20:53 +0000</pubDate>
        <dc:creator>Christian Brauner &lt;brauner@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>e2ff8d88649c2e4303f2dbb80659ae0312c30846 - selftests/namespaces: first listns() test</title>
        <link>http://opengrok.net:8080/history/linux/tools/testing/selftests/namespaces/listns_test.c#e2ff8d88649c2e4303f2dbb80659ae0312c30846</link>
        <description>selftests/namespaces: first listns() testTest basic listns() functionality with the unified namespace tree.List all active namespaces globally.Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-39-2e6f823ebdc0@kernel.orgTested-by: syzbot@syzkaller.appspotmail.comReviewed-by: Jeff Layton &lt;jlayton@kernel.org&gt;Signed-off-by: Christian Brauner &lt;brauner@kernel.org&gt;

            List of files:
            /linux/tools/testing/selftests/namespaces/listns_test.c</description>
        <pubDate>Wed, 29 Oct 2025 12:20:52 +0000</pubDate>
        <dc:creator>Christian Brauner &lt;brauner@kernel.org&gt;</dc:creator>
    </item>
</channel>
</rss>
