Unverified Commit e1a57c33 authored by Matthieu Buffet's avatar Matthieu Buffet Committed by Mickaël Salaün
Browse files

selftests/landlock: Remove invalid unix socket bind()



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: f83d51a5 ("selftests/landlock: Check IOCTL restrictions for named UNIX domain sockets")
Signed-off-by: default avatarMatthieu Buffet <matthieu@buffet.re>
Reviewed-by: default avatarGünther Noack <gnoack@google.com>
Link: https://lore.kernel.org/r/20251201003631.190817-1-matthieu@buffet.re


Signed-off-by: default avatarMickaël Salaün <mic@digikod.net>
parent 6685201e
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -4391,9 +4391,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));