From 3c773cad57064c23873f286fbec69f6f0305b889 Mon Sep 17 00:00:00 2001 From: Martin Matuska Date: Sun, 19 Nov 2023 02:09:34 +0100 Subject: [PATCH] cat: fallback on EISDIR with copy_file_range(2) The filesystem may support reading directories directly when security.bsd.allow_read_dir is set. MFC after: 1 week PR: 275099 --- bin/cat/cat.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bin/cat/cat.c b/bin/cat/cat.c index ce7a83d59d5a6..c69bbc4911cb1 100644 --- a/bin/cat/cat.c +++ b/bin/cat/cat.c @@ -281,7 +281,8 @@ scanfiles(char *argv[], int cooked __unused) } else { #ifndef BOOTSTRAP_CAT if (in_kernel_copy(fd) == -1) { - if (errno == EINVAL || errno == EBADF) + if (errno == EINVAL || errno == EBADF || + errno == EISDIR) raw_cat(fd); else err(1, "stdout");