All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 00/13] block: Various Coverity-spotted fixes
@ 2014-11-27 14:48 Max Reitz
  2014-11-27 14:48 ` [Qemu-devel] [PATCH v2 01/13] block: Make essential BlockDriver objects public Max Reitz
                   ` (13 more replies)
  0 siblings, 14 replies; 22+ messages in thread
From: Max Reitz @ 2014-11-27 14:48 UTC (permalink / raw)
  To: qemu-devel
  Cc: Kevin Wolf, qemu-stable, Peter Lieven, Markus Armbruster,
	Max Reitz, Stefan Hajnoczi

This series fixes various issues spotted by Coverity. None of these is
critical; most are just "If you do something crazy, qemu-img crashes" or
"But what if there is no qcow2 driver?". Therefore, while these are bug
fixes, it is a bit late to try to push them into 2.2.0. I am therefore
tempted to vote to target 2.3 instead.

Also, none is security-relevant. The only crashes which are fixed here
are sure to have resulted from dereferencing a NULL pointer.


v2:
- Patch 1: There are a couple of block drivers which have to always
  statically linked into qemu; those are file (because it's the standard
  protocol), raw (because currently it's the standard format) and qcow2
  (because it's the de-facto standard non-raw and backing format). This
  patch adds public symbols for their BlockDriver objects so they can be
  used from the block driver without having to resort to
  bdrv_find_format() (which may fail). [my interpretation of Markus and
  Kevin]
- Patch 2: Replaces patch 1 from v1; use the symbols introduced in patch
  1. [again, my interpretation of Markus and Kevin]
- Patch 3: No changes; albeit dropping the old patch 1 and introducing
  the new patch 2 instead, I decided not to rely on qcow at
  compile-time. qcow has been deprecated, so I can imagine some users
  not wanting to link qcow into qemu (whatever gain they expect from
  that). Therefore, although I think it's fine to rely on qcow2 at
  compile-time, I don't think it fine to rely on qcow as well.
- Patch 4: Added a note to the commit message on what concrete case is
  fixed, and why I don't add an iotest for that case [Kevin]
- Patch 11: Fixed the reference output of tests 026, 071 and 089


git-backport-diff against v1:

Key:
[----] : patches are identical
[####] : number of functional differences between upstream/downstream patch
[down] : patch is downstream-only
The flags [FC] indicate (F)unctional and (C)ontextual differences, respectively

001/13:[down] 'block: Make essential BlockDriver objects public'
002/13:[down] 'block: Omit bdrv_find_format for essential drivers'
003/13:[----] [--] 'block/vvfat: qcow driver may not be found'
004/13:[----] [--] 'block/nfs: Add create_opts'
005/13:[----] [--] 'block: Check create_opts before image creation'
006/13:[----] [--] 'qemu-img: Check create_opts before image creation'
007/13:[----] [--] 'qemu-img: Check create_opts before image amendment'
008/13:[----] [--] 'iotests: Only kill NBD server if it runs'
009/13:[----] [-C] 'iotests: Add test for unsupported image creation'
010/13:[----] [--] 'qcow2: Prevent numerical overflow'
011/13:[0130] [FC] 'qcow2: Flushing the caches in qcow2_close may fail'
012/13:[----] [--] 'qcow2: Respect bdrv_truncate() error'
013/13:[----] [--] 'block/raw-posix: Fix ret in raw_open_common()'


Max Reitz (13):
  block: Make essential BlockDriver objects public
  block: Omit bdrv_find_format for essential drivers
  block/vvfat: qcow driver may not be found
  block/nfs: Add create_opts
  block: Check create_opts before image creation
  qemu-img: Check create_opts before image creation
  qemu-img: Check create_opts before image amendment
  iotests: Only kill NBD server if it runs
  iotests: Add test for unsupported image creation
  qcow2: Prevent numerical overflow
  qcow2: Flushing the caches in qcow2_close may fail
  qcow2: Respect bdrv_truncate() error
  block/raw-posix: Fix ret in raw_open_common()

 block.c                      |  23 +++++----
 block/nfs.c                  |  15 ++++++
 block/qcow2-cluster.c        |   2 +-
 block/qcow2.c                |  26 +++++++---
 block/raw-posix.c            |   5 +-
 block/raw-win32.c            |   4 +-
 block/raw_bsd.c              |   4 +-
 block/vvfat.c                |   6 +++
 include/block/block_int.h    |   8 +++
 qemu-img.c                   |  21 ++++++++
 tests/qemu-iotests/026.out   | 120 +++++++++++++++++++++++++++++++++++++++++++
 tests/qemu-iotests/071.out   |   8 +++
 tests/qemu-iotests/089.out   |   2 +
 tests/qemu-iotests/113       |  76 +++++++++++++++++++++++++++
 tests/qemu-iotests/113.out   |  15 ++++++
 tests/qemu-iotests/common.rc |   4 +-
 tests/qemu-iotests/group     |   1 +
 17 files changed, 316 insertions(+), 24 deletions(-)
 create mode 100755 tests/qemu-iotests/113
 create mode 100644 tests/qemu-iotests/113.out

-- 
1.9.3

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2014-12-02 16:46 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-27 14:48 [Qemu-devel] [PATCH v2 00/13] block: Various Coverity-spotted fixes Max Reitz
2014-11-27 14:48 ` [Qemu-devel] [PATCH v2 01/13] block: Make essential BlockDriver objects public Max Reitz
2014-12-01 15:59   ` Eric Blake
2014-12-02  9:11     ` Max Reitz
2014-12-02 16:45       ` Eric Blake
2014-12-02 10:51   ` Kevin Wolf
2014-11-27 14:48 ` [Qemu-devel] [PATCH v2 02/13] block: Omit bdrv_find_format for essential drivers Max Reitz
2014-12-01 16:01   ` Eric Blake
2014-12-02  9:12     ` Max Reitz
2014-11-27 14:48 ` [Qemu-devel] [PATCH v2 03/13] block/vvfat: qcow driver may not be found Max Reitz
2014-12-02 10:57   ` Kevin Wolf
2014-11-27 14:48 ` [Qemu-devel] [PATCH v2 04/13] block/nfs: Add create_opts Max Reitz
2014-11-27 14:48 ` [Qemu-devel] [PATCH v2 05/13] block: Check create_opts before image creation Max Reitz
2014-11-27 14:48 ` [Qemu-devel] [PATCH v2 06/13] qemu-img: " Max Reitz
2014-11-27 14:48 ` [Qemu-devel] [PATCH v2 07/13] qemu-img: Check create_opts before image amendment Max Reitz
2014-11-27 14:48 ` [Qemu-devel] [PATCH v2 08/13] iotests: Only kill NBD server if it runs Max Reitz
2014-11-27 14:48 ` [Qemu-devel] [PATCH v2 09/13] iotests: Add test for unsupported image creation Max Reitz
2014-11-27 14:48 ` [Qemu-devel] [PATCH v2 10/13] qcow2: Prevent numerical overflow Max Reitz
2014-11-27 14:48 ` [Qemu-devel] [PATCH v2 11/13] qcow2: Flushing the caches in qcow2_close may fail Max Reitz
2014-11-27 14:48 ` [Qemu-devel] [PATCH v2 12/13] qcow2: Respect bdrv_truncate() error Max Reitz
2014-11-27 14:48 ` [Qemu-devel] [PATCH v2 13/13] block/raw-posix: Fix ret in raw_open_common() Max Reitz
2014-12-02 11:39 ` [Qemu-devel] [PATCH v2 00/13] block: Various Coverity-spotted fixes Kevin Wolf

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.