Christian Brauner
29f083c499
selftests/namespace: first threaded active reference count test
...
Test that namespace becomes inactive after thread exits. This verifies
active reference counting works with threads, not just processes.
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-67-2e6f823ebdc0@kernel.org
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:24 +01:00
Christian Brauner
c89d100f6a
selftests/namespaces: twelth inactive namespace resurrection test
...
Test multi-level namespace resurrection across three user namespace levels.
This test creates a complex namespace hierarchy with three levels of user
namespaces and a network namespace at the deepest level. It verifies that
the resurrection semantics work correctly when SIOCGSKNS is called on a
socket from an inactive namespace tree, and that listns() and
open_by_handle_at() correctly respect visibility rules.
Hierarchy after child processes exit (all with 0 active refcount):
net_L3A (0) <- Level 3 network namespace
|
+
userns_L3 (0) <- Level 3 user namespace
|
+
userns_L2 (0) <- Level 2 user namespace
|
+
userns_L1 (0) <- Level 1 user namespace
|
x
init_user_ns
The test verifies:
1. SIOCGSKNS on a socket from inactive net_L3A resurrects the entire chain
2. After resurrection, all namespaces are visible in listns()
3. Resurrected namespaces can be reopened via file handles
4. Closing the netns FD cascades down: the entire ownership chain
(userns_L3 -> userns_L2 -> userns_L1) becomes inactive again
5. Inactive namespaces disappear from listns() and cannot be reopened
6. Calling SIOCGSKNS again on the same socket resurrects the tree again
7. After second resurrection, namespaces are visible and can be reopened
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-66-2e6f823ebdc0@kernel.org
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:24 +01:00
Christian Brauner
c80168b677
selftests/namespaces: eleventh inactive namespace resurrection test
...
Test combined listns() and file handle operations with socket-kept
netns. Create a netns, keep it alive with a socket, verify it appears in
listns(), then reopen it via file handle obtained from listns() entry.
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-65-2e6f823ebdc0@kernel.org
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:24 +01:00
Christian Brauner
3798991a9f
selftests/namespaces: tenth inactive namespace resurrection test
...
Test that socket-kept netns can be reopened via file handle.
Verify that a network namespace kept alive by a socket FD can be
reopened using file handles even after the creating process exits.
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-64-2e6f823ebdc0@kernel.org
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:24 +01:00
Christian Brauner
b9d09f568b
selftests/namespaces: ninth inactive namespace resurrection test
...
Test that socket-kept netns appears in listns() output.
Verify that a network namespace kept alive by a socket FD appears in
listns() output even after the creating process exits, and that it
disappears when the socket is closed.
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-63-2e6f823ebdc0@kernel.org
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:24 +01:00
Christian Brauner
6de17ec3cc
selftests/namespaces: eigth inactive namespace resurrection test
...
Test IPv6 sockets also work with SIOCGSKNS.
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-62-2e6f823ebdc0@kernel.org
Tested-by: syzbot@syzkaller.appspotmail.com
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:23 +01:00
Christian Brauner
54a29d1233
selftests/namespaces: seventh inactive namespace resurrection test
...
Test socket keeps netns active after creating process exits. Verify that
as long as the socket FD exists, the namespace remains active.
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-61-2e6f823ebdc0@kernel.org
Tested-by: syzbot@syzkaller.appspotmail.com
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:23 +01:00
Christian Brauner
aec2237695
selftests/namespaces: sixth inactive namespace resurrection test
...
Test multiple sockets keep the same network namespace active. Create
multiple sockets, verify closing some doesn't affect others.
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-60-2e6f823ebdc0@kernel.org
Tested-by: syzbot@syzkaller.appspotmail.com
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:23 +01:00
Christian Brauner
2b9fa5bf0c
selftests/namespaces: fifth inactive namespace resurrection test
...
Test SIOCGSKNS fails on non-socket file descriptors.
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-59-2e6f823ebdc0@kernel.org
Tested-by: syzbot@syzkaller.appspotmail.com
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:23 +01:00
Christian Brauner
40226da471
selftests/namespaces: fourth inactive namespace resurrection test
...
Test SIOCGSKNS across setns. Create a socket in netns A, switch to netns
B, verify SIOCGSKNS still returns netns A.
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-58-2e6f823ebdc0@kernel.org
Tested-by: syzbot@syzkaller.appspotmail.com
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:23 +01:00
Christian Brauner
5aec9f455c
selftests/namespaces: third inactive namespace resurrection test
...
Test SIOCGSKNS with different socket types (TCP, UDP, RAW).
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-57-2e6f823ebdc0@kernel.org
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:23 +01:00
Christian Brauner
c0f06da568
selftests/namespaces: second inactive namespace resurrection test
...
Test that socket file descriptors keep network namespaces active. Create
a network namespace, create a socket in it, then exit the namespace. The
namespace should remain active while the socket FD is held.
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-56-2e6f823ebdc0@kernel.org
Tested-by: syzbot@syzkaller.appspotmail.com
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:23 +01:00
Christian Brauner
a1e49d8d18
selftests/namespaces: first inactive namespace resurrection test
...
Test basic SIOCGSKNS functionality. Create a socket and verify SIOCGSKNS
returns the correct network namespace.
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-55-2e6f823ebdc0@kernel.org
Tested-by: syzbot@syzkaller.appspotmail.com
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:22 +01:00
Christian Brauner
39bcc7ae57
selftests/namespaces: seventh listns() permission test
...
Test that dropping CAP_SYS_ADMIN restricts what we can see.
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-54-2e6f823ebdc0@kernel.org
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:22 +01:00
Christian Brauner
cff66421ee
selftests/namespaces: sixth listns() permission test
...
Test that we can see user namespaces we have CAP_SYS_ADMIN inside of.
This is different from seeing namespaces owned by a user namespace.
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-53-2e6f823ebdc0@kernel.org
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:22 +01:00
Christian Brauner
1c28817eb3
selftests/namespaces: fifth listns() permission test
...
Test that CAP_SYS_ADMIN in parent user namespace allows seeing
child user namespace's owned namespaces.
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-52-2e6f823ebdc0@kernel.org
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:22 +01:00
Christian Brauner
6f360f2b2f
selftests/namespaces: fourth listns() permission test
...
Test permission checking with LISTNS_CURRENT_USER.
Verify that listing with LISTNS_CURRENT_USER respects permissions.
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-51-2e6f823ebdc0@kernel.org
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:22 +01:00
Christian Brauner
2635f93989
selftests/namespaces: third listns() permission test
...
Test that users cannot see namespaces from unrelated user namespaces.
Create two sibling user namespaces, verify they can't see each other's
owned namespaces.
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-50-2e6f823ebdc0@kernel.org
Tested-by: syzbot@syzkaller.appspotmail.com
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:22 +01:00
Christian Brauner
ec38237731
selftests/namespaces: second listns() permission test
...
Test that users with CAP_SYS_ADMIN in a user namespace can see
all namespaces owned by that user namespace.
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-49-2e6f823ebdc0@kernel.org
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:22 +01:00
Christian Brauner
1f8ee4a1f9
selftests/namespaces: first listns() permission test
...
Test that unprivileged users can only see namespaces they're currently
in. Create a namespace, drop privileges, verify we can only see our own
namespaces.
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-48-2e6f823ebdc0@kernel.org
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:22 +01:00
Christian Brauner
674294a479
selftests/namespaces: ninth listns() test
...
Test error cases for listns().
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-47-2e6f823ebdc0@kernel.org
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:21 +01:00
Christian Brauner
b0de4c80fb
selftests/namespaces: eigth listns() test
...
Test that hierarchical active reference propagation keeps parent
user namespaces visible in listns().
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-46-2e6f823ebdc0@kernel.org
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:21 +01:00
Christian Brauner
6aeca1dd49
selftests/namespaces: seventh listns() test
...
Test listns() with multiple namespace types filter.
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-45-2e6f823ebdc0@kernel.org
Tested-by: syzbot@syzkaller.appspotmail.com
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:21 +01:00
Christian Brauner
bc8da67e0e
selftests/namespaces: sixth listns() test
...
Test 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.org
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:21 +01:00
Christian Brauner
4080b9d946
selftests/namespaces: fifth listns() test
...
Test that listns() only returns active namespaces.
Create a namespace, let it become inactive, verify it's not listed.
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-43-2e6f823ebdc0@kernel.org
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:21 +01:00
Christian Brauner
abac8de3e5
selftests/namespaces: fourth listns() test
...
Test 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.org
Tested-by: syzbot@syzkaller.appspotmail.com
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:21 +01:00
Christian Brauner
46909d1343
selftests/namespaces: third listns() test
...
Test listns() pagination.
List namespaces in batches.
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-41-2e6f823ebdc0@kernel.org
Tested-by: syzbot@syzkaller.appspotmail.com
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:21 +01:00
Christian Brauner
6a68c7f919
selftests/namespaces: second listns() test
...
test listns() with type filtering.
List only network namespaces.
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-40-2e6f823ebdc0@kernel.org
Tested-by: syzbot@syzkaller.appspotmail.com
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:21 +01:00
Christian Brauner
e2ff8d8864
selftests/namespaces: first listns() test
...
Test 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.org
Tested-by: syzbot@syzkaller.appspotmail.com
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:20 +01:00
Christian Brauner
158c5c786e
selftests/namespaces: add listns() wrapper
...
Add a wrapper for the listns() system call.
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-38-2e6f823ebdc0@kernel.org
Tested-by: syzbot@syzkaller.appspotmail.com
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:20 +01:00
Christian Brauner
da3c02b70c
selftests/namespaces: fifteenth active reference count tests
...
Test different namespace types (net, uts, ipc) all contributing
active references to the same owning user namespace.
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-37-2e6f823ebdc0@kernel.org
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:20 +01:00
Christian Brauner
a9d84bf7bf
selftests/namespaces: fourteenth active reference count tests
...
Test that user namespace as a child also propagates correctly.
Create user_A -> user_B, verify when user_B is active that user_A
is also active. This is different from non-user namespace children.
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-36-2e6f823ebdc0@kernel.org
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:20 +01:00
Christian Brauner
2a94bf7bb8
selftests/namespaces: thirteenth active reference count tests
...
Test that parent stays active as long as ANY child is active.
Create parent user namespace with two child net namespaces.
Parent should remain active until BOTH children are inactive.
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-35-2e6f823ebdc0@kernel.org
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:20 +01:00
Christian Brauner
04aee1a346
selftests/namespaces: twelth active reference count tests
...
Test hierarchical propagation with deep namespace hierarchy.
Create: init_user_ns -> user_A -> user_B -> net_ns
When net_ns is active, both user_A and user_B should be active.
This verifies the conditional recursion in __ns_ref_active_put() works.
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-34-2e6f823ebdc0@kernel.org
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:20 +01:00
Christian Brauner
26d238ea6a
selftests/namespaces: eleventh active reference count tests
...
Test that different namespace types with same owner all contribute
active references to the owning user namespace.
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-33-2e6f823ebdc0@kernel.org
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:20 +01:00
Christian Brauner
e7585a9ef5
selftests/namespaces: tenth active reference count tests
...
Test multiple children sharing same parent.
Parent should stay active as long as ANY child is active.
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-32-2e6f823ebdc0@kernel.org
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:20 +01:00
Christian Brauner
a8ce47a1ac
selftests/namespaces: ninth active reference count tests
...
Test multi-level hierarchy (3+ levels deep).
Grandparent → Parent → Child
When child is active, both parent AND grandparent should be active.
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-31-2e6f823ebdc0@kernel.org
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:19 +01:00
Christian Brauner
94f8711080
selftests/namespaces: eigth active reference count tests
...
Test that bind mounts keep namespaces in the tree even when inactive
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-30-2e6f823ebdc0@kernel.org
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:19 +01:00
Christian Brauner
4b971b07e4
selftests/namespaces: seventh active reference count tests
...
Test hierarchical active reference propagation.
When a child namespace is active, its owning user namespace should also
be active automatically due to hierarchical active reference propagation.
This ensures parents are always reachable when children are active.
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-29-2e6f823ebdc0@kernel.org
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:19 +01:00
Christian Brauner
47a5fd8ce1
selftests/namespaces: sixth active reference count tests
...
Test that an open file descriptor keeps a namespace active.
Even after the creating process exits, the namespace should remain
active as long as an fd is held open.
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-28-2e6f823ebdc0@kernel.org
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:19 +01:00
Christian Brauner
c4803b255f
selftests/namespaces: fifth active reference count tests
...
Test PID namespace active ref tracking
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-27-2e6f823ebdc0@kernel.org
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:19 +01:00
Christian Brauner
28655ff253
selftests/namespaces: fourth active reference count tests
...
Test user namespace active ref tracking via credential lifecycle.
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-26-2e6f823ebdc0@kernel.org
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:19 +01:00
Christian Brauner
c6e25d930b
selftests/namespaces: third active reference count tests
...
Test that a namespace remains active while a process is using it,
even after the creating process exits.
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-25-2e6f823ebdc0@kernel.org
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:19 +01:00
Christian Brauner
721c7e41b1
selftests/namespaces: second active reference count tests
...
Test namespace lifecycle: create a namespace in a child process, get a
file handle while it's active, then try to reopen after the process
exits (namespace becomes inactive).
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-24-2e6f823ebdc0@kernel.org
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:19 +01:00
Christian Brauner
6bdce845fd
selftests/namespaces: first active reference count tests
...
Test that initial namespaces can be reopened via file handle. Initial
namespaces should always have a ref count of one from boot.
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-23-2e6f823ebdc0@kernel.org
Tested-by: syzbot@syzkaller.appspotmail.com
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:18 +01:00
Christian Brauner
e2b6e5eadc
selftests/filesystems: remove CLONE_NEWPIDNS from setup_userns() helper
...
This is effectively unused and doesn't really server any purpose after
having reviewed all of the tests that rely on it.
Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-22-2e6f823ebdc0@kernel.org
Tested-by: syzbot@syzkaller.appspotmail.com
Reviewed-by: Jeff Layton <jlayton@kernel.org >
Signed-off-by: Christian Brauner <brauner@kernel.org >
2025-11-03 17:41:18 +01:00
Linus Torvalds
2953fb6548
Merge tag 'hid-for-linus-2025101701' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid
...
Pull HID fixes from Jiri Kosina:
- fix for sticky fingers handling in hid-multitouch (Benjamin
Tissoires)
- fix for reporting of 0 battery levels (Dmitry Torokhov)
- build fix for hid-haptic in certain configurations (Jonathan Denose)
- improved probe and avoiding spamming kernel log by hid-nintendo
(Vicki Pfau)
- fix for OOB in hid-cp2112 (Deepak Sharma)
- interrupt handling fix for intel-thc-hid (Even Xu)
- a couple of new device IDs and device-specific quirks
* tag 'hid-for-linus-2025101701' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid:
HID: logitech-hidpp: Add HIDPP_QUIRK_RESET_HI_RES_SCROLL
selftests/hid: add tests for missing release on the Dell Synaptics
HID: multitouch: fix sticky fingers
HID: multitouch: fix name of Stylus input devices
HID: hid-input: only ignore 0 battery events for digitizers
HID: hid-debug: Fix spelling mistake "Rechargable" -> "Rechargeable"
HID: Kconfig: Fix build error from CONFIG_HID_HAPTIC
HID: nintendo: Rate limit IMU compensation message
HID: nintendo: Wait longer for initial probe
HID: core: Add printk_ratelimited variants to hid_warn() etc
HID: quirks: Add ALWAYS_POLL quirk for VRS R295 steering wheel
HID: quirks: avoid Cooler Master MM712 dongle wakeup bug
HID: cp2112: Add parameter validation to data length
HID: intel-thc-hid: intel-quickspi: Add ARL PCI Device Id's
HID: intel-thc-hid: Intel-quickspi: switch first interrupt from level to edge detection
HID: intel-thc-hid: intel-quicki2c: Fix wrong type casting
2025-10-18 08:18:18 -10:00
Linus Torvalds
d303caf5ca
Merge tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf
...
Pull bpf fixes from Alexei Starovoitov:
- Replace bpf_map_kmalloc_node() with kmalloc_nolock() to fix kmemleak
imbalance in tracking of bpf_async_cb structures (Alexei Starovoitov)
- Make selftests/bpf arg_parsing.c more robust to errors (Andrii
Nakryiko)
- Fix redefinition of 'off' as different kind of symbol when I40E
driver is builtin (Brahmajit Das)
- Do not disable preemption in bpf_test_run (Sahil Chandna)
- Fix memory leak in __lookup_instance error path (Shardul Bankar)
- Ensure test data is flushed to disk before reading it (Xing Guo)
* tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf:
selftests/bpf: Fix redefinition of 'off' as different kind of symbol
bpf: Do not disable preemption in bpf_test_run().
bpf: Fix memory leak in __lookup_instance error path
selftests: arg_parsing: Ensure data is flushed to disk before reading.
bpf: Replace bpf_map_kmalloc_node() with kmalloc_nolock() to allocate bpf_async_cb structures.
selftests/bpf: make arg_parsing.c more robust to crashes
bpf: test_run: Fix ctx leak in bpf_prog_test_run_xdp error path
2025-10-18 08:00:43 -10:00
Linus Torvalds
02e5f74ef0
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
...
Pull kvm fixes from Paolo Bonzini:
"ARM:
- Fix the handling of ZCR_EL2 in NV VMs
- Pick the correct translation regime when doing a PTW on the back of
a SEA
- Prevent userspace from injecting an event into a vcpu that isn't
initialised yet
- Move timer save/restore to the sysreg handling code, fixing EL2
timer access in the process
- Add FGT-based trapping of MDSCR_EL1 to reduce the overhead of debug
- Fix trapping configuration when the host isn't GICv3
- Improve the detection of HCR_EL2.E2H being RES1
- Drop a spurious 'break' statement in the S1 PTW
- Don't try to access SPE when owned by EL3
Documentation updates:
- Document the failure modes of event injection
- Document that a GICv3 guest can be created on a GICv5 host with
FEAT_GCIE_LEGACY
Selftest improvements:
- Add a selftest for the effective value of HCR_EL2.AMO
- Address build warning in the timer selftest when building with
clang
- Teach irqfd selftests about non-x86 architectures
- Add missing sysregs to the set_id_regs selftest
- Fix vcpu allocation in the vgic_lpi_stress selftest
- Correctly enable interrupts in the vgic_lpi_stress selftest
x86:
- Expand the KVM_PRE_FAULT_MEMORY selftest to add a regression test
for the bug fixed by commit 3ccbf6f470 ("KVM: x86/mmu: Return
-EAGAIN if userspace deletes/moves memslot during prefault")
- Don't try to get PMU capabilities from perf when running a CPU with
hybrid CPUs/PMUs, as perf will rightly WARN.
guest_memfd:
- Rework KVM_CAP_GUEST_MEMFD_MMAP (newly introduced in 6.18) into a
more generic KVM_CAP_GUEST_MEMFD_FLAGS
- Add a guest_memfd INIT_SHARED flag and require userspace to
explicitly set said flag to initialize memory as SHARED,
irrespective of MMAP.
The behavior merged in 6.18 is that enabling mmap() implicitly
initializes memory as SHARED, which would result in an ABI
collision for x86 CoCo VMs as their memory is currently always
initialized PRIVATE.
- Allow mmap() on guest_memfd for x86 CoCo VMs, i.e. on VMs with
private memory, to enable testing such setups, i.e. to hopefully
flush out any other lurking ABI issues before 6.18 is officially
released.
- Add testcases to the guest_memfd selftest to cover guest_memfd
without MMAP, and host userspace accesses to mmap()'d private
memory"
* tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (46 commits)
arm64: Revamp HCR_EL2.E2H RES1 detection
KVM: arm64: nv: Use FGT write trap of MDSCR_EL1 when available
KVM: arm64: Compute per-vCPU FGTs at vcpu_load()
KVM: arm64: selftests: Fix misleading comment about virtual timer encoding
KVM: arm64: selftests: Add an E2H=0-specific configuration to get_reg_list
KVM: arm64: selftests: Make dependencies on VHE-specific registers explicit
KVM: arm64: Kill leftovers of ad-hoc timer userspace access
KVM: arm64: Fix WFxT handling of nested virt
KVM: arm64: Move CNT*CT_EL0 userspace accessors to generic infrastructure
KVM: arm64: Move CNT*_CVAL_EL0 userspace accessors to generic infrastructure
KVM: arm64: Move CNT*_CTL_EL0 userspace accessors to generic infrastructure
KVM: arm64: Add timer UAPI workaround to sysreg infrastructure
KVM: arm64: Make timer_set_offset() generally accessible
KVM: arm64: Replace timer context vcpu pointer with timer_id
KVM: arm64: Introduce timer_context_to_vcpu() helper
KVM: arm64: Hide CNTHV_*_EL2 from userspace for nVHE guests
Documentation: KVM: Update GICv3 docs for GICv5 hosts
KVM: arm64: gic-v3: Only set ICH_HCR traps for v2-on-v3 or v3 guests
KVM: arm64: selftests: Actually enable IRQs in vgic_lpi_stress
KVM: arm64: selftests: Allocate vcpus with correct size
...
2025-10-18 07:07:14 -10:00
Paolo Bonzini
4361f5aa8b
Merge tag 'kvm-x86-fixes-6.18-rc2' of https://github.com/kvm-x86/linux into HEAD
...
KVM x86 fixes for 6.18:
- Expand the KVM_PRE_FAULT_MEMORY selftest to add a regression test for the
bug fixed by commit 3ccbf6f470 ("KVM: x86/mmu: Return -EAGAIN if userspace
deletes/moves memslot during prefault")
- Don't try to get PMU capabbilities from perf when running a CPU with hybrid
CPUs/PMUs, as perf will rightly WARN.
- Rework KVM_CAP_GUEST_MEMFD_MMAP (newly introduced in 6.18) into a more
generic KVM_CAP_GUEST_MEMFD_FLAGS
- Add a guest_memfd INIT_SHARED flag and require userspace to explicitly set
said flag to initialize memory as SHARED, irrespective of MMAP. The
behavior merged in 6.18 is that enabling mmap() implicitly initializes
memory as SHARED, which would result in an ABI collision for x86 CoCo VMs
as their memory is currently always initialized PRIVATE.
- Allow mmap() on guest_memfd for x86 CoCo VMs, i.e. on VMs with private
memory, to enable testing such setups, i.e. to hopefully flush out any
other lurking ABI issues before 6.18 is officially released.
- Add testcases to the guest_memfd selftest to cover guest_memfd without MMAP,
and host userspace accesses to mmap()'d private memory.
2025-10-18 10:25:43 +02:00