On Fri, Jun 29, 2018 at 10:27 AM, Michel Dänzer <michel@xxxxxxxxxxx> wrote: > From: Michel Dänzer <michel.daenzer@xxxxxxx> > > The property size may be controlled by userspace, can be large (I've > seen failure with order 4, i.e. 16 pages / 64 KB) and doesn't need to be > physically contiguous. > > Signed-off-by: Michel Dänzer <michel.daenzer@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> > --- > drivers/gpu/drm/drm_property.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/drm_property.c b/drivers/gpu/drm/drm_property.c > index 1f8031e30f53..cdb10f885a4f 100644 > --- a/drivers/gpu/drm/drm_property.c > +++ b/drivers/gpu/drm/drm_property.c > @@ -532,7 +532,7 @@ static void drm_property_free_blob(struct kref *kref) > > drm_mode_object_unregister(blob->dev, &blob->base); > > - kfree(blob); > + kvfree(blob); > } > > /** > @@ -559,7 +559,7 @@ drm_property_create_blob(struct drm_device *dev, size_t length, > if (!length || length > ULONG_MAX - sizeof(struct drm_property_blob)) > return ERR_PTR(-EINVAL); > > - blob = kzalloc(sizeof(struct drm_property_blob)+length, GFP_KERNEL); > + blob = kvzalloc(sizeof(struct drm_property_blob)+length, GFP_KERNEL); > if (!blob) > return ERR_PTR(-ENOMEM); > > @@ -576,7 +576,7 @@ drm_property_create_blob(struct drm_device *dev, size_t length, > ret = __drm_mode_object_add(dev, &blob->base, DRM_MODE_OBJECT_BLOB, > true, drm_property_free_blob); > if (ret) { > - kfree(blob); > + kvfree(blob); > return ERR_PTR(-EINVAL); > } > > -- > 2.18.0 > > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/dri-devel _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel