diff options
author | John Snow <jsnow@redhat.com> | 2018-07-10 13:00:40 -0400 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2018-07-12 18:24:08 +0200 |
commit | 230ff73904e72dde2d7718c2da407786a1c72e57 (patch) | |
tree | 04a8bf0cfe28d25482a65e64446f8b4c35c0204f /qemu-doc.texi | |
parent | eb461485f4558e362fab905735b50987505bca44 (diff) | |
download | qemu-230ff73904e72dde2d7718c2da407786a1c72e57.zip qemu-230ff73904e72dde2d7718c2da407786a1c72e57.tar.gz qemu-230ff73904e72dde2d7718c2da407786a1c72e57.tar.bz2 |
file-posix: specify expected filetypes
Adjust each caller of raw_open_common to specify if they are expecting
host and character devices or not. Tighten expectations of file types upon
open in the common code and refuse types that are not expected.
This has two effects:
(1) Character and block devices are now considered deprecated for the
'file' driver, which expects only S_IFREG, and
(2) no file-posix driver (file, host_cdrom, or host_device) can open
directories now.
I don't think there's a legitimate reason to open directories as if
they were files. This prevents QEMU from opening and attempting to probe
a directory inode, which can break in exciting ways. One of those ways
is lseek on ext4/xfs, which will return 0x7fffffffffffffff as the file
size instead of EISDIR. This can coax QEMU into responding with a
confusing "file too big" instead of "Hey, that's not a file".
See: https://bugs.launchpad.net/qemu/+bug/1739304/
Signed-off-by: John Snow <jsnow@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'qemu-doc.texi')
-rw-r--r-- | qemu-doc.texi | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/qemu-doc.texi b/qemu-doc.texi index 0fbf8b1..1047c40 100644 --- a/qemu-doc.texi +++ b/qemu-doc.texi @@ -2969,6 +2969,12 @@ replacement since it is not needed anymore. The @option{-enable-hax} option has been replaced by @option{-accel hax}. Both options have been introduced in QEMU version 2.9.0. +@subsection -drive file=json:@{...@{'driver':'file'@}@} (since 3.0) + +The 'file' driver for drives is no longer appropriate for character or host +devices and will only accept regular files (S_IFREG). The correct driver +for these file types is 'host_cdrom' or 'host_device' as appropriate. + @section QEMU Machine Protocol (QMP) commands @subsection block-dirty-bitmap-add "autoload" parameter (since 2.12.0) |