[Intel-gfx] [PATCH] drm: Limite blob creation to drm master

Daniel Vetter daniel at ffwll.ch
Wed Jul 4 09:35:09 UTC 2018


On Mon, Jul 02, 2018 at 01:24:40PM +0300, Ville Syrjälä wrote:
> On Mon, Jul 02, 2018 at 10:12:21AM +0200, Daniel Vetter wrote:
> > This interface allows pretty much unlimited kernel memory allocations,
> > which isn't all that great. But we allow that anyway for any drm
> > master client (through pinning display buffers and stuff, at least for
> > UMA gpus),
> 
> At least on i915 memory used by pinned display buffers has some kind
> of upper bound based on the number of planes+max fb size and/or ggtt
> size.
> 
> Anyways, patch makes sense so
> Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

CI is unhappy about it because it breaks the testcase. And on second
thought with stuff like drm leases we allow rather unpriviledge things to
be drm master, so this isn't helping all that much really. Also, cgroups
should be able to limit these kernel allocations - we only ever do this in
process context.

Decided to drop this on the floor instead.
-Daniel

> 
> > so just limiting it to the active master seems like a
> > reasonable stopgap measure.
> > 
> > Fixes: e2f5d2ea479b ("drm/mode: Add user blob-creation ioctl")
> > Cc: Daniel Stone <daniels at collabora.com>
> > Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
> > Cc: Michel Dänzer <michel at daenzer.net>
> > Signed-off-by: Daniel Vetter <daniel.vetter at intel.com>
> > ---
> >  drivers/gpu/drm/drm_ioctl.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/drm_ioctl.c b/drivers/gpu/drm/drm_ioctl.c
> > index c148eb3be8c2..dc740c381f9e 100644
> > --- a/drivers/gpu/drm/drm_ioctl.c
> > +++ b/drivers/gpu/drm/drm_ioctl.c
> > @@ -656,8 +656,8 @@ static const struct drm_ioctl_desc drm_ioctls[] = {
> >  	DRM_IOCTL_DEF(DRM_IOCTL_MODE_OBJ_SETPROPERTY, drm_mode_obj_set_property_ioctl, DRM_MASTER|DRM_UNLOCKED),
> >  	DRM_IOCTL_DEF(DRM_IOCTL_MODE_CURSOR2, drm_mode_cursor2_ioctl, DRM_MASTER|DRM_UNLOCKED),
> >  	DRM_IOCTL_DEF(DRM_IOCTL_MODE_ATOMIC, drm_mode_atomic_ioctl, DRM_MASTER|DRM_UNLOCKED),
> > -	DRM_IOCTL_DEF(DRM_IOCTL_MODE_CREATEPROPBLOB, drm_mode_createblob_ioctl, DRM_UNLOCKED),
> > -	DRM_IOCTL_DEF(DRM_IOCTL_MODE_DESTROYPROPBLOB, drm_mode_destroyblob_ioctl, DRM_UNLOCKED),
> > +	DRM_IOCTL_DEF(DRM_IOCTL_MODE_CREATEPROPBLOB, drm_mode_createblob_ioctl, DRM_MASTER|DRM_UNLOCKED),
> > +	DRM_IOCTL_DEF(DRM_IOCTL_MODE_DESTROYPROPBLOB, drm_mode_destroyblob_ioctl, DRM_MASTER|DRM_UNLOCKED),
> >  
> >  	DRM_IOCTL_DEF(DRM_IOCTL_SYNCOBJ_CREATE, drm_syncobj_create_ioctl,
> >  		      DRM_UNLOCKED|DRM_RENDER_ALLOW),
> > -- 
> > 2.18.0
> 
> -- 
> Ville Syrjälä
> Intel

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the Intel-gfx mailing list