Message ID | 20180702081221.6150-1-daniel.vetter@ffwll.ch (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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@linux.intel.com> > 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@collabora.com> > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> > Cc: Michel Dänzer <michel@daenzer.net> > Signed-off-by: Daniel Vetter <daniel.vetter@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
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@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@collabora.com> > > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> > > Cc: Michel Dänzer <michel@daenzer.net> > > Signed-off-by: Daniel Vetter <daniel.vetter@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
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),
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), 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@collabora.com> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Cc: Michel Dänzer <michel@daenzer.net> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> --- drivers/gpu/drm/drm_ioctl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)