Skip to content

Commit

Permalink
exec.c: check memory backend file size with 'size' option
Browse files Browse the repository at this point in the history
If the memory backend file is not large enough to hold the required 'size',
Qemu will report error and exit.

Signed-off-by: Haozhong Zhang <haozhong.zhang@intel.com>
Message-Id: <20161027042300.5929-3-haozhong.zhang@intel.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Message-Id: <20161102010551.2723-1-haozhong.zhang@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
  • Loading branch information
Haozhong Zhang authored and bonzini committed Nov 2, 2016
1 parent d6af99c commit 1775f11
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions exec.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);

/*
Expand Down

0 comments on commit 1775f11

Please sign in to comment.