[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 1/2] pc_sysfw: Check for qemu_find_file() failur
From: |
Luiz Capitulino |
Subject: |
Re: [Qemu-devel] [PATCH 1/2] pc_sysfw: Check for qemu_find_file() failure |
Date: |
Thu, 16 Aug 2012 10:30:57 -0300 |
On Thu, 16 Aug 2012 13:41:12 +0200
Markus Armbruster <address@hidden> wrote:
> pc_fw_add_pflash_drv() ignores qemu_find_file() failure, and happily
> creates a drive without a medium.
>
> When pc_system_flash_init() asks for its size, bdrv_getlength() fails
> with -ENOMEDIUM, which isn't checked either. It fails relatively
> cleanly only because -ENOMEDIUM isn't a multiple of 4096:
>
> $ qemu-system-x86_64 -S -vnc :0 -bios nonexistant
> qemu: PC system firmware (pflash) must be a multiple of 0x1000
> [Exit 1 ]
>
> Fix by handling the qemu_find_file() failure.
>
> Signed-off-by: Markus Armbruster <address@hidden>
> ---
> hw/pc_sysfw.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/hw/pc_sysfw.c b/hw/pc_sysfw.c
> index b45f0ac..fd22154 100644
> --- a/hw/pc_sysfw.c
> +++ b/hw/pc_sysfw.c
> @@ -84,6 +84,11 @@ static void pc_fw_add_pflash_drv(void)
> bios_name = BIOS_FILENAME;
> }
> filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name);
> + if (!filename) {
> + error_report("Can't open BIOS image %s: %s",
> + bios_name, strerror(errno));
Why not use plain fprintf()? This is called from machine init time, I
don't think this is ever called in monitor context.
Also, maybe you could add the following patch to this series?
http://lists.gnu.org/archive/html/qemu-devel/2012-06/msg04686.html
Although I'm not sure it qualifies for hard-freeze...
> + exit(1);
> + }
>
> opts = drive_add(IF_PFLASH, -1, filename, "readonly=on");
>
- [Qemu-devel] [PATCH 0/2] Fix two buggy pc_sysfw error paths, Markus Armbruster, 2012/08/16
- [Qemu-devel] [PATCH 1/2] pc_sysfw: Check for qemu_find_file() failure, Markus Armbruster, 2012/08/16
- Re: [Qemu-devel] [PATCH 1/2] pc_sysfw: Check for qemu_find_file() failure,
Luiz Capitulino <=
- Re: [Qemu-devel] [PATCH 1/2] pc_sysfw: Check for qemu_find_file() failure, Markus Armbruster, 2012/08/16
- Re: [Qemu-devel] [PATCH 1/2] pc_sysfw: Check for qemu_find_file() failure, Kevin Wolf, 2012/08/16
- Re: [Qemu-devel] [PATCH 1/2] pc_sysfw: Check for qemu_find_file() failure, Luiz Capitulino, 2012/08/16
- Re: [Qemu-devel] [PATCH 1/2] pc_sysfw: Check for qemu_find_file() failure, Markus Armbruster, 2012/08/16
- Re: [Qemu-devel] [PATCH 1/2] pc_sysfw: Check for qemu_find_file() failure, Luiz Capitulino, 2012/08/16
- Re: [Qemu-devel] [PATCH 1/2] pc_sysfw: Check for qemu_find_file() failure, Markus Armbruster, 2012/08/16
- Re: [Qemu-devel] [PATCH 1/2] pc_sysfw: Check for qemu_find_file() failure, Luiz Capitulino, 2012/08/16
- Re: [Qemu-devel] [PATCH 1/2] pc_sysfw: Check for qemu_find_file() failure, Luiz Capitulino, 2012/08/16
Re: [Qemu-devel] [PATCH 1/2] pc_sysfw: Check for qemu_find_file() failure, Jordan Justen, 2012/08/16
[Qemu-devel] [PATCH 2/2] pc_sysfw: Plug memory leak on pc_fw_add_pflash_drv() error path, Markus Armbruster, 2012/08/16