qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v8 4/5] dmg: warn when opening dmg images containing blocks o


From: Richard Henderson
Subject: Re: [PATCH v8 4/5] dmg: warn when opening dmg images containing blocks of unknown type
Date: Wed, 28 Sep 2022 08:39:21 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0

On 9/28/22 05:29, Claudio Fontana wrote:
From: Kevin Wolf <kwolf@redhat.com>

Signed-off-by: Claudio Fontana <cfontana@suse.de>
---
  block/dmg.c | 19 +++++++++++++++++++
  1 file changed, 19 insertions(+)

If it's from Kevin, it should have his s-o-b as well.  With that,

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>


r~


diff --git a/block/dmg.c b/block/dmg.c
index 837f18aa20..96f8c2d14f 100644
--- a/block/dmg.c
+++ b/block/dmg.c
@@ -254,6 +254,25 @@ static int dmg_read_mish_block(BDRVDMGState *s, 
DmgHeaderState *ds,
      for (i = s->n_chunks; i < s->n_chunks + chunk_count; i++) {
          s->types[i] = buff_read_uint32(buffer, offset);
          if (!dmg_is_known_block_type(s->types[i])) {
+            switch (s->types[i]) {
+            case UDBZ:
+                warn_report_once("dmg-bzip2 module is missing, accessing bzip2 
"
+                                 "compressed blocks will result in I/O 
errors");
+                break;
+            case ULFO:
+                warn_report_once("dmg-lzfse module is missing, accessing lzfse 
"
+                                 "compressed blocks will result in I/O 
errors");
+                break;
+            case UDCM:
+            case UDLE:
+                /* Comments and last entry can be ignored without problems */
+                break;
+            default:
+                warn_report_once("Image contains chunks of unknown type %x, "
+                                 "accessing them will result in I/O errors",
+                                 s->types[i]);
+                break;
+            }
              chunk_count--;
              i--;
              offset += 40;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]