Il 14/06/2014 06:48, Hu Tao ha scritto:
If user adds a memory-backend-file object using object_add command,
specifying a non-existing directory for property mem-path, qemu
will core dump with message:
/nonexistingdir: No such file or directory
Bad ram offset fffffffffffff000
Aborted (core dumped)
This patch fixes this problem.
Signed-off-by: Hu Tao <hu...@cn.fujitsu.com>
---
backends/hostmem-file.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/backends/hostmem-file.c b/backends/hostmem-file.c
index 5179994..70172d1 100644
--- a/backends/hostmem-file.c
+++ b/backends/hostmem-file.c
@@ -55,6 +55,9 @@ file_backend_memory_alloc(HostMemoryBackend *backend, Error
**errp)
object_get_canonical_path(OBJECT(backend)),
backend->size, fb->share,
fb->mem_path, errp);
+ if (backend->mr.ram_addr == -1) {
+ error_setg(errp, "failed to allocate memory");
+ }
qemu_ram_alloc_from_file is where this error_setg should be added instead.
Paolo
}
#endif
}