All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sinclair Yeh <syeh@vmware.com>
To: Thomas Hellstrom <thellstrom@vmware.com>
Cc: airlied@gmail.com, daniel.vetter@intel.com,
	dri-devel@lists.freedesktop.org, stable@vger.kernel.org
Subject: Re: [PATCH] drm/vmwgfx: Work around drm removal of control nodes
Date: Tue, 21 Feb 2017 14:05:26 -0800	[thread overview]
Message-ID: <20170221220524.GA6861@ubuntu> (raw)
In-Reply-To: <20170221104227.2854-1-thellstrom@vmware.com>

Reviewed-by: Sinclair Yeh <syeh@vmware.com>


On Tue, Feb 21, 2017 at 05:42:27PM +0700, Thomas Hellstrom wrote:
> vmware tools has a daemon that gets layout information from the GUI and
> forwards it to DRM so that the modesetting code can set preferred connector
> locations and modes. This daemon was using control nodes but since control
> nodes were just removed, make it possible for the daemon to use render- or
> primary nodes instead. This is a bit ugly but will allow drm to proceed with
> removal of the mostly unused control-node code and allow vmware to proceed
> with fixing up automatic layout settings for gnome-shell/wayland.
> 
> We bump minor to inform user-space about the api change.
> 
> Cc: <stable@vger.kernel.org>
> Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
> ---
>  drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 11 ++++++++++-
>  drivers/gpu/drm/vmwgfx/vmwgfx_drv.h |  4 ++--
>  2 files changed, 12 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
> index 541a588..d08f269 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
> @@ -199,9 +199,14 @@ static const struct drm_ioctl_desc vmw_ioctls[] = {
>  	VMW_IOCTL_DEF(VMW_PRESENT_READBACK,
>  		      vmw_present_readback_ioctl,
>  		      DRM_MASTER | DRM_AUTH),
> +	/*
> +	 * The permissions of the below ioctl are overridden in
> +	 * vmw_generic_ioctl(). We require either
> +	 * DRM_MASTER or capable(CAP_SYS_ADMIN).
> +	 */
>  	VMW_IOCTL_DEF(VMW_UPDATE_LAYOUT,
>  		      vmw_kms_update_layout_ioctl,
> -		      DRM_MASTER | DRM_CONTROL_ALLOW),
> +		      DRM_RENDER_ALLOW),
>  	VMW_IOCTL_DEF(VMW_CREATE_SHADER,
>  		      vmw_shader_define_ioctl,
>  		      DRM_AUTH | DRM_RENDER_ALLOW),
> @@ -1123,6 +1128,10 @@ static long vmw_generic_ioctl(struct file *filp, unsigned int cmd,
>  
>  			return (long) vmw_execbuf_ioctl(dev, arg, file_priv,
>  							_IOC_SIZE(cmd));
> +		} else if (nr == DRM_COMMAND_BASE + DRM_VMW_UPDATE_LAYOUT) {
> +			if (!drm_is_current_master(file_priv) &&
> +			    !capable(CAP_SYS_ADMIN))
> +				return -EACCES;
>  		}
>  
>  		if (unlikely(ioctl->cmd != cmd))
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
> index 1e59a48..59ff419 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
> @@ -41,9 +41,9 @@
>  #include <drm/ttm/ttm_module.h>
>  #include "vmwgfx_fence.h"
>  
> -#define VMWGFX_DRIVER_DATE "20160210"
> +#define VMWGFX_DRIVER_DATE "20170221"
>  #define VMWGFX_DRIVER_MAJOR 2
> -#define VMWGFX_DRIVER_MINOR 11
> +#define VMWGFX_DRIVER_MINOR 12
>  #define VMWGFX_DRIVER_PATCHLEVEL 0
>  #define VMWGFX_FILE_PAGE_OFFSET 0x00100000
>  #define VMWGFX_FIFO_STATIC_SIZE (1024*1024)
> -- 
> 2.9.3
> 

WARNING: multiple messages have this Message-ID (diff)
From: Sinclair Yeh <syeh@vmware.com>
To: Thomas Hellstrom <thellstrom@vmware.com>
Cc: <airlied@gmail.com>, <daniel.vetter@intel.com>,
	<dri-devel@lists.freedesktop.org>, <stable@vger.kernel.org>
Subject: Re: [PATCH] drm/vmwgfx: Work around drm removal of control nodes
Date: Tue, 21 Feb 2017 14:05:26 -0800	[thread overview]
Message-ID: <20170221220524.GA6861@ubuntu> (raw)
In-Reply-To: <20170221104227.2854-1-thellstrom@vmware.com>

Reviewed-by: Sinclair Yeh <syeh@vmware.com>


On Tue, Feb 21, 2017 at 05:42:27PM +0700, Thomas Hellstrom wrote:
> vmware tools has a daemon that gets layout information from the GUI and
> forwards it to DRM so that the modesetting code can set preferred connector
> locations and modes. This daemon was using control nodes but since control
> nodes were just removed, make it possible for the daemon to use render- or
> primary nodes instead. This is a bit ugly but will allow drm to proceed with
> removal of the mostly unused control-node code and allow vmware to proceed
> with fixing up automatic layout settings for gnome-shell/wayland.
> 
> We bump minor to inform user-space about the api change.
> 
> Cc: <stable@vger.kernel.org>
> Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
> ---
>  drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 11 ++++++++++-
>  drivers/gpu/drm/vmwgfx/vmwgfx_drv.h |  4 ++--
>  2 files changed, 12 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
> index 541a588..d08f269 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
> @@ -199,9 +199,14 @@ static const struct drm_ioctl_desc vmw_ioctls[] = {
>  	VMW_IOCTL_DEF(VMW_PRESENT_READBACK,
>  		      vmw_present_readback_ioctl,
>  		      DRM_MASTER | DRM_AUTH),
> +	/*
> +	 * The permissions of the below ioctl are overridden in
> +	 * vmw_generic_ioctl(). We require either
> +	 * DRM_MASTER or capable(CAP_SYS_ADMIN).
> +	 */
>  	VMW_IOCTL_DEF(VMW_UPDATE_LAYOUT,
>  		      vmw_kms_update_layout_ioctl,
> -		      DRM_MASTER | DRM_CONTROL_ALLOW),
> +		      DRM_RENDER_ALLOW),
>  	VMW_IOCTL_DEF(VMW_CREATE_SHADER,
>  		      vmw_shader_define_ioctl,
>  		      DRM_AUTH | DRM_RENDER_ALLOW),
> @@ -1123,6 +1128,10 @@ static long vmw_generic_ioctl(struct file *filp, unsigned int cmd,
>  
>  			return (long) vmw_execbuf_ioctl(dev, arg, file_priv,
>  							_IOC_SIZE(cmd));
> +		} else if (nr == DRM_COMMAND_BASE + DRM_VMW_UPDATE_LAYOUT) {
> +			if (!drm_is_current_master(file_priv) &&
> +			    !capable(CAP_SYS_ADMIN))
> +				return -EACCES;
>  		}
>  
>  		if (unlikely(ioctl->cmd != cmd))
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
> index 1e59a48..59ff419 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
> @@ -41,9 +41,9 @@
>  #include <drm/ttm/ttm_module.h>
>  #include "vmwgfx_fence.h"
>  
> -#define VMWGFX_DRIVER_DATE "20160210"
> +#define VMWGFX_DRIVER_DATE "20170221"
>  #define VMWGFX_DRIVER_MAJOR 2
> -#define VMWGFX_DRIVER_MINOR 11
> +#define VMWGFX_DRIVER_MINOR 12
>  #define VMWGFX_DRIVER_PATCHLEVEL 0
>  #define VMWGFX_FILE_PAGE_OFFSET 0x00100000
>  #define VMWGFX_FIFO_STATIC_SIZE (1024*1024)
> -- 
> 2.9.3
> 

  reply	other threads:[~2017-02-21 22:05 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-21 10:42 [PATCH] drm/vmwgfx: Work around drm removal of control nodes Thomas Hellstrom
2017-02-21 10:42 ` Thomas Hellstrom
2017-02-21 22:05 ` Sinclair Yeh [this message]
2017-02-21 22:05   ` Sinclair Yeh
2017-02-26 21:53   ` Daniel Vetter
2017-02-22 19:04 ` Daniel Vetter
2017-02-22 19:04   ` Daniel Vetter
2017-02-24  6:44   ` Thomas Hellstrom
2017-02-24  6:44     ` Thomas Hellstrom
2017-02-24  7:13     ` Daniel Vetter
2017-02-24  7:13       ` Daniel Vetter
2017-02-24  8:00       ` Thomas Hellstrom
2017-02-24  8:00         ` Thomas Hellstrom

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170221220524.GA6861@ubuntu \
    --to=syeh@vmware.com \
    --cc=airlied@gmail.com \
    --cc=daniel.vetter@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=stable@vger.kernel.org \
    --cc=thellstrom@vmware.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.