From 055f920ebe21b8e05235363bc11a83cc649cdc6a Mon Sep 17 00:00:00 2001 From: Martin Matuska Date: Sun, 9 Jul 2023 01:04:25 +0200 Subject: [PATCH] cat: fallback on EBADF with copy_file_range(2) When stdout is opened with O_APPEND, copy_file_range(2) fails with EBADF. --- bin/cat/cat.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/cat/cat.c b/bin/cat/cat.c index 1158a839cfd..44a406dd037 100644 --- a/bin/cat/cat.c +++ b/bin/cat/cat.c @@ -283,7 +283,7 @@ scanfiles(char *argv[], int cooked __unused) } else { #ifndef BOOTSTRAP_CAT if (in_kernel_copy(fd) == -1) { - if (errno == EINVAL) + if (errno == EINVAL || errno == EBADF) raw_cat(fd); else err(1, "stdout");