Commit 1775f111 authored by Haozhong Zhang's avatar Haozhong Zhang Committed by Paolo Bonzini
Browse files

exec.c: check memory backend file size with 'size' option



If the memory backend file is not large enough to hold the required 'size',
Qemu will report error and exit.

Signed-off-by: default avatarHaozhong Zhang <haozhong.zhang@intel.com>
Message-Id: <20161027042300.5929-3-haozhong.zhang@intel.com>
Reviewed-by: default avatarEduardo Habkost <ehabkost@redhat.com>
Message-Id: <20161102010551.2723-1-haozhong.zhang@intel.com>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent d6af99c9
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -1321,6 +1321,13 @@ static void *file_ram_alloc(RAMBlock *block,
        goto error;
    }

    if (file_size > 0 && file_size < memory) {
        error_setg(errp, "backing store %s size 0x%" PRIx64
                   " does not match 'size' option 0x" RAM_ADDR_FMT,
                   path, file_size, memory);
        goto error;
    }

    memory = ROUND_UP(memory, block->page_size);

    /*