[PATCH v3 01/12] drm: add gem array helpers

Gerd Hoffmann kraxel at redhat.com
Wed Jun 19 11:27:23 UTC 2019


> > +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



More information about the dri-devel mailing list