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
signature.asc
Description: OpenPGP digital signature