[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 04/37] hw/usb-storage: Check whether BB is in
From: |
Kevin Wolf |
Subject: |
Re: [Qemu-devel] [PATCH v2 04/37] hw/usb-storage: Check whether BB is inserted |
Date: |
Wed, 4 Mar 2015 15:20:37 +0100 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
Am 04.03.2015 um 15:07 hat Max Reitz geschrieben:
> On 2015-03-04 at 09:02, Kevin Wolf wrote:
> >Am 09.02.2015 um 18:11 hat Max Reitz geschrieben:
> >>Only call bdrv_key_required() on the BlockDriverState if the
> >>BlockBackend has an inserted medium.
> >>
> >>Signed-off-by: Max Reitz <address@hidden>
> >>Reviewed-by: Eric Blake <address@hidden>
> >>---
> >> hw/usb/dev-storage.c | 2 +-
> >> 1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >>diff --git a/hw/usb/dev-storage.c b/hw/usb/dev-storage.c
> >>index 4539733..3123baf 100644
> >>--- a/hw/usb/dev-storage.c
> >>+++ b/hw/usb/dev-storage.c
> >>@@ -638,7 +638,7 @@ static void usb_msd_realize_storage(USBDevice *dev,
> >>Error **errp)
> >> usb_msd_handle_reset(dev);
> >> s->scsi_dev = scsi_dev;
> >>- if (bdrv_key_required(blk_bs(blk))) {
> >>+ if (blk_is_inserted(blk) && bdrv_key_required(blk_bs(blk))) {
> >> if (cur_mon) {
> >> monitor_read_bdrv_key_start(cur_mon, blk_bs(blk),
> >> usb_msd_password_cb, s);
> >Why would bdrv_key_required() ever return true when no medium is
> >inserted? Sounds like a bug to me, like not resetting state correctly on
> >bdrv_close() of an encrypted image.
>
> The point is that blk_bs(blk) might be NULL.
This is not what blk_is_inserted() is checking. It happens to protect
you against segfaults because it's robust against using NULL, but with
an existing BDS, checking whether there is a medium inserted (in the
physical device for passthrough drivers) doesn't make sense.
It looks like what you want is blk_bs(blk) != NULL.
Kevin
- Re: [Qemu-devel] [PATCH v2 04/37] hw/usb-storage: Check whether BB is inserted, Kevin Wolf, 2015/03/04
- Re: [Qemu-devel] [PATCH v2 04/37] hw/usb-storage: Check whether BB is inserted, Max Reitz, 2015/03/04
- Re: [Qemu-devel] [PATCH v2 04/37] hw/usb-storage: Check whether BB is inserted,
Kevin Wolf <=
- Re: [Qemu-devel] [PATCH v2 04/37] hw/usb-storage: Check whether BB is inserted, Max Reitz, 2015/03/04
- Re: [Qemu-devel] [PATCH v2 04/37] hw/usb-storage: Check whether BB is inserted, Kevin Wolf, 2015/03/04
- Re: [Qemu-devel] [PATCH v2 04/37] hw/usb-storage: Check whether BB is inserted, Max Reitz, 2015/03/04
- Re: [Qemu-devel] [PATCH v2 04/37] hw/usb-storage: Check whether BB is inserted, Max Reitz, 2015/03/04
- Re: [Qemu-devel] [PATCH v2 04/37] hw/usb-storage: Check whether BB is inserted, Kevin Wolf, 2015/03/04
- Re: [Qemu-devel] [PATCH v2 04/37] hw/usb-storage: Check whether BB is inserted, Max Reitz, 2015/03/04
Re: [Qemu-devel] [PATCH v2 04/37] hw/usb-storage: Check whether BB is inserted, Max Reitz, 2015/03/04