diff mbox series

[v3,1/4] target/ppc: add error report when fopen fails in kvmppc_read_int_dt()

Message ID 20220707213015.552104-2-danielhb413@gmail.com (mailing list archive)
State New, archived
Headers show
Series enhance error handling in kvmppc_read_int* | expand

Commit Message

Daniel Henrique Barboza July 7, 2022, 9:30 p.m. UTC
From: jianchunfu <jianchunfu@cmss.chinamobile.com>

Use an Error pointer to report the error back to the caller.

While we're at it, return '0' instead of '-1' on error since the
function is supposed to return an uint64_t.

Signed-off-by: jianchunfu <jianchunfu@cmss.chinamobile.com>
[danielhb: return 0, use error_set_errno() instead of fprintf]
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
---
 target/ppc/kvm.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
diff mbox series

Patch

diff --git a/target/ppc/kvm.c b/target/ppc/kvm.c
index 6eed466f80..65d136ed5a 100644
--- a/target/ppc/kvm.c
+++ b/target/ppc/kvm.c
@@ -1896,7 +1896,7 @@  static int kvmppc_find_cpu_dt(char *buf, int buf_len)
     return 0;
 }
 
-static uint64_t kvmppc_read_int_dt(const char *filename)
+static uint64_t kvmppc_read_int_dt(const char *filename, Error **errp)
 {
     union {
         uint32_t v32;
@@ -1907,7 +1907,8 @@  static uint64_t kvmppc_read_int_dt(const char *filename)
 
     f = fopen(filename, "rb");
     if (!f) {
-        return -1;
+        error_setg_errno(errp, errno, "error opening %s", filename);
+        return 0;
     }
 
     len = fread(&u, 1, sizeof(u), f);
@@ -1938,7 +1939,7 @@  static uint64_t kvmppc_read_int_cpu_dt(const char *propname)
     }
 
     tmp = g_strdup_printf("%s/%s", buf, propname);
-    val = kvmppc_read_int_dt(tmp);
+    val = kvmppc_read_int_dt(tmp, NULL);
     g_free(tmp);
 
     return val;