aboutsummaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorMark Johnston <markjdb@gmail.com>2021-05-13 12:54:13 -0400
committerGitHub <noreply@github.com>2021-05-13 18:54:13 +0200
commit80f9b41855d0f32880a09b8966a1961fb53e4ea9 (patch)
treec62f9f6b96697c4ad772893bfbd3d5437e5778d1 /sys
parentf171a9af2294119b864b807d30b6f0e04747a31c (diff)
sys/freebsd: disable close_range(2) and closefrom(2) (#2585)
These tend to generate false-positive reports when, e.g., tunfd gets clobbered. In particular, tunfd is dup'ed to fd 240, so close_range(fd, ~0, 0) tends to result in an error. These system calls are not very interesting in light of the fact that close(2) is still available, so let's just disable them.
Diffstat (limited to 'sys')
-rw-r--r--sys/freebsd/posix_fs.txt7
-rw-r--r--sys/freebsd/posix_fs.txt.const2
2 files changed, 4 insertions, 5 deletions
diff --git a/sys/freebsd/posix_fs.txt b/sys/freebsd/posix_fs.txt
index 67816a81d..0f0f6178d 100644
--- a/sys/freebsd/posix_fs.txt
+++ b/sys/freebsd/posix_fs.txt
@@ -21,8 +21,9 @@ open(file ptr[in, filename], flags flags[open_flags], mode flags[open_mode]) fd
open$dir(file ptr[in, filename], flags flags[open_flags], mode flags[open_mode]) fd_dir
openat(fd fd_dir[opt], file ptr[in, filename], flags flags[open_flags], mode flags[open_mode]) fd
close(fd fd)
-close_range(fd fd, max_fd fd, flags flags[close_range_flags])
-freebsd12_closefrom(fd fd)
+# Don't close fd ranges, tunfd ends up being closed as collateral damage.
+#close_range(fd fd, max_fd fd, flags flags[close_range_flags])
+#freebsd12_closefrom(fd fd)
read(fd fd, buf buffer[out], count len[buf])
readv(fd fd, vec ptr[in, array[iovec_out]], vlen len[vec])
preadv(fd fd, vec ptr[in, array[iovec_out]], vlen len[vec], off fileoff)
@@ -176,7 +177,7 @@ freebsd11_statfs {
filesystem_types = "apfs", "cd9660", "exfat", "ext2fs", "geli", "hammer", "hammer2", "hfsp", "msdosfs", "ntfs", "ufs", "zfs"
open_flags = O_RDONLY, O_WRONLY, O_RDWR, O_APPEND, FASYNC, O_CLOEXEC, O_CREAT, O_DIRECT, O_DIRECTORY, O_EXCL, O_NOCTTY, O_NOFOLLOW, O_NONBLOCK, O_SYNC, O_TRUNC, O_EXEC, O_TTY_INIT, O_VERIFY, O_PATH, O_EMPTY_PATH
open_mode = S_IRUSR, S_IWUSR, S_IXUSR, S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH
-close_range_flags = 0
+#close_range_flags = 0
seek_whence = SEEK_SET, SEEK_CUR, SEEK_END, SEEK_DATA, SEEK_HOLE
pipe_flags = O_NONBLOCK, O_CLOEXEC
fadvise_advice = POSIX_FADV_NORMAL, POSIX_FADV_RANDOM, POSIX_FADV_SEQUENTIAL, POSIX_FADV_WILLNEED, POSIX_FADV_DONTNEED, POSIX_FADV_NOREUSE
diff --git a/sys/freebsd/posix_fs.txt.const b/sys/freebsd/posix_fs.txt.const
index 7746fd0cb..9b4464912 100644
--- a/sys/freebsd/posix_fs.txt.const
+++ b/sys/freebsd/posix_fs.txt.const
@@ -62,7 +62,6 @@ SEEK_HOLE = 4
SEEK_SET = 0
STATFS_VERSION = 538182936
SYS_close = 6
-SYS_close_range = 575
SYS_dup = 41
SYS_dup2 = 90
SYS_fpathconf = 192
@@ -72,7 +71,6 @@ SYS_freebsd11_fstatat = 493
SYS_freebsd11_getfsstat = 395
SYS_freebsd11_lstat = 190
SYS_freebsd11_stat = 188
-SYS_freebsd12_closefrom = 509
SYS_fstat = 551
SYS_fstatat = 552
SYS_getfsstat = 557