[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-block] [PULL 10/24] block/blklogwrites: Make sure the log sector s
From: |
Kevin Wolf |
Subject: |
[Qemu-block] [PULL 10/24] block/blklogwrites: Make sure the log sector size is not too small |
Date: |
Tue, 10 Jul 2018 17:42:50 +0200 |
From: Ari Sundholm <address@hidden>
The sector size needs to be large enough to accommodate the data
structures for the log super block and log write entries. This was
previously not properly checked, which made it possible to cause
QEMU to badly misbehave.
Signed-off-by: Ari Sundholm <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
---
block/blklogwrites.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/block/blklogwrites.c b/block/blklogwrites.c
index 63bf6b34a9..efa2c7a66a 100644
--- a/block/blklogwrites.c
+++ b/block/blklogwrites.c
@@ -89,7 +89,10 @@ static inline uint32_t blk_log_writes_log2(uint32_t value)
static inline bool blk_log_writes_sector_size_valid(uint32_t sector_size)
{
- return sector_size < (1ull << 24) && is_power_of_2(sector_size);
+ return is_power_of_2(sector_size) &&
+ sector_size >= sizeof(struct log_write_super) &&
+ sector_size >= sizeof(struct log_write_entry) &&
+ sector_size < (1ull << 24);
}
static uint64_t blk_log_writes_find_cur_log_sector(BdrvChild *log,
--
2.13.6
- [Qemu-block] [PULL 03/24] block: Fix copy-on-read crash with partial final cluster, (continued)
- [Qemu-block] [PULL 03/24] block: Fix copy-on-read crash with partial final cluster, Kevin Wolf, 2018/07/10
- [Qemu-block] [PULL 01/24] block: Poll after drain on attaching a node, Kevin Wolf, 2018/07/10
- [Qemu-block] [PULL 02/24] test-bdrv-drain: Test bdrv_append() to drained node, Kevin Wolf, 2018/07/10
- [Qemu-block] [PULL 04/24] iotests: 222: Don't run with luks, Kevin Wolf, 2018/07/10
- [Qemu-block] [PULL 06/24] block: split flags in copy_range, Kevin Wolf, 2018/07/10
- [Qemu-block] [PULL 05/24] block/io: fix copy_range, Kevin Wolf, 2018/07/10
- [Qemu-block] [PULL 07/24] block: add BDRV_REQ_SERIALISING flag, Kevin Wolf, 2018/07/10
- [Qemu-block] [PULL 11/24] Revert "block: Remove dead deprecation warning code", Kevin Wolf, 2018/07/10
- [Qemu-block] [PULL 08/24] block/backup: fix fleecing scheme: use serialized writes, Kevin Wolf, 2018/07/10
- [Qemu-block] [PULL 09/24] qapi/block-core.json: Add missing documentation for blklogwrites log-append option, Kevin Wolf, 2018/07/10
- [Qemu-block] [PULL 10/24] block/blklogwrites: Make sure the log sector size is not too small,
Kevin Wolf <=
- [Qemu-block] [PULL 13/24] Revert "block: Remove deprecated -drive option addr", Kevin Wolf, 2018/07/10
- [Qemu-block] [PULL 15/24] block: Prefix file driver trace points with "file_", Kevin Wolf, 2018/07/10
- [Qemu-block] [PULL 12/24] Revert "block: Remove deprecated -drive option serial", Kevin Wolf, 2018/07/10
- [Qemu-block] [PULL 14/24] Revert "block: Remove deprecated -drive geometry options", Kevin Wolf, 2018/07/10
- [Qemu-block] [PULL 16/24] block: Add copy offloading trace points, Kevin Wolf, 2018/07/10
- [Qemu-block] [PULL 17/24] block: Use BdrvChild to discard, Kevin Wolf, 2018/07/10
- [Qemu-block] [PULL 18/24] block: Use uint64_t for BdrvTrackedRequest byte fields, Kevin Wolf, 2018/07/10
- [Qemu-block] [PULL 22/24] block: Use common req handling in copy offloading, Kevin Wolf, 2018/07/10
- [Qemu-block] [PULL 21/24] block: Use common req handling for discard, Kevin Wolf, 2018/07/10
- [Qemu-block] [PULL 19/24] block: Extract common write req handling, Kevin Wolf, 2018/07/10