diff options
| author | Denis Efremov <efremov@linux.com> | 2021-09-18 18:53:11 +0300 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2021-09-20 09:38:10 +0200 |
| commit | 3d9c9a2ac29573a117cde8ace07d0749eeda991b (patch) | |
| tree | ff488dd751a98e5a8e4b2a2a3069b385ef012472 /pkg/host/syscalls_linux.go | |
| parent | 70b76c1d627711cc3ef109af16d6cb7429a61fe3 (diff) | |
pkg/host: add O_NONBLOCK to isSupportedOpenFile
Since commit 4f7e1d0f5e1c ("sys/linux: use openat for /dev/cdrom")
changed syz_open_dev to openat syzkaller tries to open /dev/cdrom
with r,w,rw flags. However, if there is no media in a cdrom
device these attempts will fail resulting in:
> disabling openat$sr: open(/dev/sr0) failed: no medium found
Add O_RDONLY|O_NONBLOCK mode to successfully open cdrom devices
with no media.
Signed-off-by: Denis Efremov <efremov@linux.com>
Diffstat (limited to 'pkg/host/syscalls_linux.go')
| -rw-r--r-- | pkg/host/syscalls_linux.go | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/pkg/host/syscalls_linux.go b/pkg/host/syscalls_linux.go index 7764b063a..c69ccd82f 100644 --- a/pkg/host/syscalls_linux.go +++ b/pkg/host/syscalls_linux.go @@ -460,7 +460,7 @@ func isSupportedOpenFile(c *prog.Syscall, filenameArg int, modes []int) (bool, s return true, "" } if len(modes) == 0 { - modes = []int{syscall.O_RDONLY, syscall.O_WRONLY, syscall.O_RDWR} + modes = []int{syscall.O_RDONLY, syscall.O_WRONLY, syscall.O_RDWR, syscall.O_RDONLY | syscall.O_NONBLOCK} } var err error for _, mode := range modes { |
