]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
selftests/landlock: Remove invalid unix socket bind()
authorMatthieu Buffet <matthieu@buffet.re>
Mon, 1 Dec 2025 00:36:31 +0000 (01:36 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 23 Jan 2026 10:21:22 +0000 (11:21 +0100)
[ Upstream commit e1a57c33590a50a6639798e60a597af4a23b0340 ]

Remove bind() call on a client socket that doesn't make sense.
Since strlen(cli_un.sun_path) returns a random value depending on stack
garbage, that many uninitialized bytes are read from the stack as an
unix socket address. This creates random test failures due to the bind
address being invalid or already in use if the same stack value comes up
twice.

Fixes: f83d51a5bdfe ("selftests/landlock: Check IOCTL restrictions for named UNIX domain sockets")
Signed-off-by: Matthieu Buffet <matthieu@buffet.re>
Reviewed-by: Günther Noack <gnoack@google.com>
Link: https://lore.kernel.org/r/20251201003631.190817-1-matthieu@buffet.re
Signed-off-by: Mickaël Salaün <mic@digikod.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
tools/testing/selftests/landlock/fs_test.c

index fa0f18ec62c41e649eb654d6b16f5009485e57ce..a6eb9681791a53284bcb7e97d9026bca35059fd5 100644 (file)
@@ -4375,9 +4375,6 @@ TEST_F_FORK(layout1, named_unix_domain_socket_ioctl)
        cli_fd = socket(AF_UNIX, SOCK_STREAM, 0);
        ASSERT_LE(0, cli_fd);
 
-       size = offsetof(struct sockaddr_un, sun_path) + strlen(cli_un.sun_path);
-       ASSERT_EQ(0, bind(cli_fd, (struct sockaddr *)&cli_un, size));
-
        bzero(&cli_un, sizeof(cli_un));
        cli_un.sun_family = AF_UNIX;
        strncpy(cli_un.sun_path, path, sizeof(cli_un.sun_path));