[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
signature.asc
Description: PGP signature