On 03/30/2017 07:27 AM, Li Qiang wrote:
> The guest can leave the pdu->s->migration_blocker exists by attach

s/exists/in place/
s/attach/attaching/

> but not remove a fid. Then if we hot unplug the 9pfs device, the

s/remove/removing/

> v9fs_reset() just free the fids, but not free the migration_blocker.
> This will leak a memory leak. This patch avoid this.

s/leak a/cause a/
s/avoid/avoids/

> 
> Signed-off-by: Li Qiang <liqiang...@360.cn>
> ---
>  hw/9pfs/9p.c | 6 ++++++
>  1 file changed, 6 insertions(+)

Probably worth including in 2.9 as a bug fix.

Reviewed-by: Eric Blake <ebl...@redhat.com>

> 
> diff --git a/hw/9pfs/9p.c b/hw/9pfs/9p.c
> index 48babce..b55c02d 100644
> --- a/hw/9pfs/9p.c
> +++ b/hw/9pfs/9p.c
> @@ -548,6 +548,12 @@ static void coroutine_fn virtfs_reset(V9fsPDU *pdu)
>              free_fid(pdu, fidp);
>          }
>      }
> +
> +    if (pdu->s->migration_blocker) {
> +        migrate_del_blocker(pdu->s->migration_blocker);
> +        error_free(pdu->s->migration_blocker);
> +        pdu->s->migration_blocker = NULL;
> +    }
>  }
>  
>  #define P9_QID_TYPE_DIR         0x80
> 

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to