Hi Noralf, Thank you for the patch. On Tuesday, 7 November 2017 21:13:42 EET Noralf Trønnes wrote: > This allows the argument to be a const. > > The other option was to keep it an inline function and make the argument > a const: > > static inline struct drm_gem_cma_object * > to_drm_gem_cma_obj(const struct drm_gem_object *gem_obj) > { > return container_of(gem_obj, struct drm_gem_cma_object, base); > } > > This will happily return a non-const pointer to the drm_gem_cma_object > based on a const pointer to the contained drm_gem_object, thus creating > const-safety problems. > > There was an attempt to fix the problem in the container_of() macro > itself (see https://lkml.org/lkml/2017/5/19/381) but the patch seems to > have fallen through the cracks. It would require turning this inline > function into a macro. > > By making this a macro now, we will benefit from a possible future > enhancement of container_of(). We don't loose type checking by doing > this, container_of() takes care of that. > > Suggested-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > Signed-off-by: Noralf Trønnes <noralf@xxxxxxxxxxx> Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > --- > include/drm/drm_gem_cma_helper.h | 7 ++----- > 1 file changed, 2 insertions(+), 5 deletions(-) > > diff --git a/include/drm/drm_gem_cma_helper.h > b/include/drm/drm_gem_cma_helper.h index 58a739bf15f1..7a3dcf0cf289 100644 > --- a/include/drm/drm_gem_cma_helper.h > +++ b/include/drm/drm_gem_cma_helper.h > @@ -20,11 +20,8 @@ struct drm_gem_cma_object { > void *vaddr; > }; > > -static inline struct drm_gem_cma_object * > -to_drm_gem_cma_obj(struct drm_gem_object *gem_obj) > -{ > - return container_of(gem_obj, struct drm_gem_cma_object, base); > -} > +#define to_drm_gem_cma_obj(gem_obj) \ > + container_of(gem_obj, struct drm_gem_cma_object, base) > > #ifndef CONFIG_MMU > #define DRM_GEM_CMA_UNMAPPED_AREA_FOPS \ -- Regards, Laurent Pinchart _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel