qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v2] hostmem-file: reject invalid pmem file sizes


From: Stefan Hajnoczi
Subject: Re: [Qemu-devel] [PATCH v2] hostmem-file: reject invalid pmem file sizes
Date: Thu, 14 Feb 2019 10:46:24 +0800
User-agent: Mutt/1.10.1 (2018-07-13)

On Wed, Feb 13, 2019 at 04:13:18PM +0800, Wei Yang wrote:
> On Wed, Feb 13, 2019 at 03:14:01PM +0800, Stefan Hajnoczi wrote:
> >diff --git a/backends/hostmem-file.c b/backends/hostmem-file.c
> >index ba601ce940..d62689179b 100644
> >--- a/backends/hostmem-file.c
> >+++ b/backends/hostmem-file.c
> >@@ -46,6 +46,28 @@ file_backend_memory_alloc(HostMemoryBackend *backend, 
> >Error **errp)
> >     gchar *name;
> > #endif
> > 
> >+    /*
> >+     * Verify pmem file size since starting a guest with an incorrect size
> >+     * leads to confusing failures inside the guest.
> >+     */
> >+    if (fb->is_pmem && fb->mem_path) {
> >+        Error *local_err = NULL;
> >+        uint64_t size;
> >+
> >+        size = qemu_get_pmem_size(fb->mem_path, &local_err);
> >+        if (!size) {
> >+            error_propagate(errp, local_err);
> >+            return;
> >+        }
> >+
> >+        if (backend->size > size) {
> >+            error_setg(errp, "size property %" PRIu64 " is larger than "
> >+                       "pmem file \"%s\" size %" PRIu64, backend->size,
> >+                       fb->mem_path, size);
> >+            return;
> >+        }
> >+    }
> >+
> >     if (!backend->size) {
> >         error_setg(errp, "can't create backend with size 0");
> >         return;
> 
> Would it be reasonable to move the above check after checking size and
> mem_path?

Thanks, will fix in v3.

Stefan

Attachment: signature.asc
Description: PGP signature


reply via email to

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