[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 15/19] blockdev: Fix NULL pointer dereference in bloc
From: |
Kevin Wolf |
Subject: |
[Qemu-devel] [PULL 15/19] blockdev: Fix NULL pointer dereference in blockdev-add |
Date: |
Fri, 7 Mar 2014 14:33:03 +0100 |
If aio=native, we check that cache.direct is set as well. If however
cache wasn't specified at all, qemu just segfaulted.
The old condition didn't make any sense anyway because it effectively
only checked for the default cache mode case, but not for an explicitly
set cache.direct=off mode.
Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Benoit Canet <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
---
blockdev.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/blockdev.c b/blockdev.c
index 561cb81..c3422a1 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -2283,8 +2283,10 @@ void qmp_blockdev_add(BlockdevOptions *options, Error
**errp)
*
* For now, simply forbidding the combination for all drivers will do. */
if (options->has_aio && options->aio == BLOCKDEV_AIO_OPTIONS_NATIVE) {
- bool direct = options->cache->has_direct && options->cache->direct;
- if (!options->has_cache && !direct) {
+ bool direct = options->has_cache &&
+ options->cache->has_direct &&
+ options->cache->direct;
+ if (!direct) {
error_setg(errp, "aio=native requires cache.direct=true");
goto fail;
}
--
1.8.1.4
- [Qemu-devel] [PULL 02/19] gluster: Remove unused defines and header include, (continued)
- [Qemu-devel] [PULL 02/19] gluster: Remove unused defines and header include, Kevin Wolf, 2014/03/07
- [Qemu-devel] [PULL 05/19] iscsi: Use bs->sg for everything else than disks, Kevin Wolf, 2014/03/07
- [Qemu-devel] [PULL 06/19] block: Fix bs->request_alignment assertion for bs->sg=1, Kevin Wolf, 2014/03/07
- [Qemu-devel] [PULL 07/19] block: make bdrv_swap rebuild the bs graph node list field., Kevin Wolf, 2014/03/07
- [Qemu-devel] [PULL 08/19] block: mirror - remove code cruft that has no function, Kevin Wolf, 2014/03/07
- [Qemu-devel] [PULL 09/19] block: Keep "filename" option after parsing, Kevin Wolf, 2014/03/07
- [Qemu-devel] [PULL 10/19] block/raw-posix: Implement bdrv_parse_filename(), Kevin Wolf, 2014/03/07
- [Qemu-devel] [PULL 12/19] block/raw-win32: Implement bdrv_parse_filename(), Kevin Wolf, 2014/03/07
- [Qemu-devel] [PULL 11/19] block/raw-posix: Strip "file:" prefix on creation, Kevin Wolf, 2014/03/07
- [Qemu-devel] [PULL 13/19] block/raw-win32: Strip "file:" prefix on creation, Kevin Wolf, 2014/03/07
- [Qemu-devel] [PULL 15/19] blockdev: Fix NULL pointer dereference in blockdev-add,
Kevin Wolf <=
- [Qemu-devel] [PULL 16/19] qemu-iotests: Test a few blockdev-add error cases, Kevin Wolf, 2014/03/07
- [Qemu-devel] [PULL 14/19] blockdev: Fail blockdev-add with encrypted images, Kevin Wolf, 2014/03/07
- [Qemu-devel] [PULL 17/19] block: Fix error path segfault in bdrv_open(), Kevin Wolf, 2014/03/07
- [Qemu-devel] [PULL 19/19] block: qemu-iotests 085 - live snapshots tests, Kevin Wolf, 2014/03/07
- [Qemu-devel] [PULL 18/19] hw/ide/ahci.h: Avoid shifting left into sign bit, Kevin Wolf, 2014/03/07
- Re: [Qemu-devel] [PULL 00/19] Block patches, Peter Maydell, 2014/03/08