hw/block/fdc: Extract blk_create_empty_drive() hw/block/fdc: Kludge missing floppy drive to fix CVE-2021-20196 tests/fdc-test: Add a regression test for CVE-2021-20196 display/qxl-render: fix race condition in qxl_cursor (CVE-2021-4207) ui/cursor: fix integer overflow in cursor_alloc (CVE-2021-4206) Signed-off-by: yezengruan <yezengruan@huawei.com> Signed-off-by: bobychen <boby.chen@huawei.com>
50 lines
1.5 KiB
Diff
50 lines
1.5 KiB
Diff
From b05a7125bab12a5610db47c9fd4f85d93a552a4e Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
|
|
Date: Wed, 24 Nov 2021 17:15:34 +0100
|
|
Subject: [PATCH 1/5] hw/block/fdc: Extract blk_create_empty_drive()
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
We are going to re-use this code in the next commit,
|
|
so extract it as a new blk_create_empty_drive() function.
|
|
|
|
Inspired-by: Hanna Reitz <hreitz@redhat.com>
|
|
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
|
|
Message-id: 20211124161536.631563-2-philmd@redhat.com
|
|
Signed-off-by: John Snow <jsnow@redhat.com>
|
|
---
|
|
hw/block/fdc.c | 9 +++++++--
|
|
1 file changed, 7 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/hw/block/fdc.c b/hw/block/fdc.c
|
|
index 9b24cb9b85..deea339d70 100644
|
|
--- a/hw/block/fdc.c
|
|
+++ b/hw/block/fdc.c
|
|
@@ -56,6 +56,12 @@
|
|
} while (0)
|
|
|
|
|
|
+/* Anonymous BlockBackend for empty drive */
|
|
+static BlockBackend *blk_create_empty_drive(void)
|
|
+{
|
|
+ return blk_new(qemu_get_aio_context(), 0, BLK_PERM_ALL);
|
|
+}
|
|
+
|
|
/********************************************************/
|
|
/* qdev floppy bus */
|
|
|
|
@@ -539,8 +545,7 @@ static void floppy_drive_realize(DeviceState *qdev, Error **errp)
|
|
}
|
|
|
|
if (!dev->conf.blk) {
|
|
- /* Anonymous BlockBackend for an empty drive */
|
|
- dev->conf.blk = blk_new(qemu_get_aio_context(), 0, BLK_PERM_ALL);
|
|
+ dev->conf.blk = blk_create_empty_drive();
|
|
ret = blk_attach_dev(dev->conf.blk, qdev);
|
|
assert(ret == 0);
|
|
|
|
--
|
|
2.27.0
|
|
|