hw/nvram/mac_nvram: Report failure to write data
authorPeter Maydell <peter.maydell@linaro.org>
Mon, 25 Mar 2024 10:41:01 +0000 (10:41 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Mon, 25 Mar 2024 10:41:01 +0000 (10:41 +0000)
There's no way for the macio_nvram device to report failure to write
data, but we can at least report it to the user with error_report()
as we do in other devices like xlnx-efuse.

Spotted by Coverity.

Resolves: Coverity CID 1507628
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-id: 20240312183810.557768-6-peter.maydell@linaro.org

hw/nvram/mac_nvram.c

index 5f9d16fb3e35b44b37a8acfe36ef3184416e040c..fe9df9fa35bc02118032c44f22994a1cb6941cc0 100644 (file)
@@ -33,6 +33,7 @@
 #include "migration/vmstate.h"
 #include "qemu/cutils.h"
 #include "qemu/module.h"
+#include "qemu/error-report.h"
 #include "trace.h"
 #include <zlib.h>
 
@@ -48,7 +49,10 @@ static void macio_nvram_writeb(void *opaque, hwaddr addr,
     trace_macio_nvram_write(addr, value);
     s->data[addr] = value;
     if (s->blk) {
-        blk_pwrite(s->blk, addr, 1, &s->data[addr], 0);
+        if (blk_pwrite(s->blk, addr, 1, &s->data[addr], 0) < 0) {
+            error_report("%s: write of NVRAM data to backing store failed",
+                         blk_name(s->blk));
+        }
     }
 }