nouveau: Mark nouveau subchannel unbound nouveau_grobj_free

Valgrind throws warns about a user-after-free if you try to bind a
new subchannel after the old one in that slot was freed,
so remove it from the channel list.

Signed-off-by: Maarten Lankhorst <m.b.lankhorst@gmail.com>
main
Maarten Lankhorst 2011-11-24 14:08:53 +01:00 committed by Younes Manton
parent ca4971292c
commit 37ccce5e39
1 changed files with 2 additions and 1 deletions

View File

@ -100,12 +100,13 @@ nouveau_grobj_free(struct nouveau_grobj **grobj)
struct drm_nouveau_gpuobj_free f;
FIRE_RING(&chan->base);
f.channel = chan->drm.channel;
f.handle = nvgrobj->base.handle;
drmCommandWrite(nvdev->fd, DRM_NOUVEAU_GPUOBJ_FREE,
&f, sizeof(f));
}
if (nvgrobj->base.bound != NOUVEAU_GROBJ_UNBOUND)
chan->base.subc[nvgrobj->base.subc].gr = NULL;
free(nvgrobj);
}