> > +struct drm_gem_object_array*
> > +drm_gem_array_from_handles(struct drm_file *drm_file, u32 *handles, u32 
> > nents)
> > +{
> > +   struct drm_gem_object_array *objs;
> > +   u32 i;
> > +
> > +   objs = drm_gem_array_alloc(nents);
> > +   if (!objs)
> > +           return NULL;
> > +
> > +   for (i = 0; i < nents; i++) {
> > +           objs->objs[i] = drm_gem_object_lookup(drm_file, handles[i]);
> > +           if (!objs->objs[i]) {
> Missing object put for the 0..i-1 handles. Personally I would:

No. drm_gem_array_alloc initializes objs->nents and
drm_gem_array_put_free() loops over the whole array,
skipping NULL pointers.

> > +                   drm_gem_array_put_free(objs);
> > +                   return NULL;
> > +           }
> > +   }
> > +   return objs;
> > +}
> Missing EXPORT_SYMBOL?

Oops.  I had that fixed.  Possibly squashed into the wrong patch.

> Ditto?

Yes.

cheers,
  Gerd

Reply via email to