Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

selftests/coredump: ignore ENOSPC errors

If we crash multiple processes at the same time we may run out of space.
Just ignore those errors. They're not actually all that relevant for the
test.

Link: https://patch.msgid.link/20251028-work-coredump-signal-v1-20-ca449b7b7aa0@kernel.org
Reviewed-by: Alexander Mikhalitsyn <aleksandr.mikhalitsyn@canonical.com>
Signed-off-by: Christian Brauner <brauner@kernel.org>

+9 -2
+4
tools/testing/selftests/coredump/coredump_socket_protocol_test.c
··· 184 184 185 185 bytes_write = write(fd_core_file, buffer, bytes_read); 186 186 if (bytes_read != bytes_write) { 187 + if (bytes_write < 0 && errno == ENOSPC) 188 + continue; 187 189 fprintf(stderr, "socket_request_kernel: write to core file failed (read=%zd, write=%zd): %m\n", 188 190 bytes_read, bytes_write); 189 191 goto out; ··· 1368 1366 1369 1367 bytes_write = write(fd_core_file, buffer, bytes_read); 1370 1368 if (bytes_read != bytes_write) { 1369 + if (bytes_write < 0 && errno == ENOSPC) 1370 + continue; 1371 1371 fprintf(stderr, "write failed for fd %d: %m\n", fd_core_file); 1372 1372 goto out; 1373 1373 }
+3 -2
tools/testing/selftests/coredump/coredump_socket_test.c
··· 158 158 159 159 bytes_write = write(fd_core_file, buffer, bytes_read); 160 160 if (bytes_read != bytes_write) { 161 - fprintf(stderr, "socket test: write to core file failed (read=%zd, write=%zd): %m\n", 162 - bytes_read, bytes_write); 161 + if (bytes_write < 0 && errno == ENOSPC) 162 + continue; 163 + fprintf(stderr, "socket test: write to core file failed (read=%zd, write=%zd): %m\n", bytes_read, bytes_write); 163 164 goto out; 164 165 } 165 166 }
+2
tools/testing/selftests/coredump/coredump_test_helpers.c
··· 357 357 goto done; 358 358 ssize_t bytes_write = write(fd_core_file, buffer, bytes_read); 359 359 if (bytes_write != bytes_read) { 360 + if (bytes_write < 0 && errno == ENOSPC) 361 + continue; 360 362 fprintf(stderr, "Worker: write() failed (read=%zd, write=%zd): %m\n", 361 363 bytes_read, bytes_write); 362 364 goto out;