]> 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:18:41 +0000 (11:18 +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 97d360eae4f69efa87962941e79ded1e797ce8ce..01bb59938dd7a6b10b820c55297bf0d5d9dafc65 100644 (file)
@@ -4179,9 +4179,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));