> > +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 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel