[PATCH v2 3/3] drm: Constify drm_driver in drivers that don't modify it

Daniel Vetter daniel at ffwll.ch
Wed Dec 16 14:32:00 UTC 2020


On Tue, Dec 15, 2020 at 10:31:26PM +0200, Laurent Pinchart wrote:
> A non-const structure containing function pointers is a possible attack
> vector. The drm_driver structure is already const in most drivers, but
> there are a few exceptions. Constify the structure in the drivers that
> don't need to modify at, as a low-hanging fruit. The rest of the drivers
> will need a more complex fix.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas at ideasonboard.com>

Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch>

> ---
>  drivers/gpu/drm/arc/arcpgu_drv.c | 2 +-
>  drivers/gpu/drm/kmb/kmb_drv.c    | 2 +-
>  drivers/gpu/drm/tdfx/tdfx_drv.c  | 2 +-
>  3 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/arc/arcpgu_drv.c b/drivers/gpu/drm/arc/arcpgu_drv.c
> index f164818ec477..077d006b1fbf 100644
> --- a/drivers/gpu/drm/arc/arcpgu_drv.c
> +++ b/drivers/gpu/drm/arc/arcpgu_drv.c
> @@ -145,7 +145,7 @@ static void arcpgu_debugfs_init(struct drm_minor *minor)
>  }
>  #endif
>  
> -static struct drm_driver arcpgu_drm_driver = {
> +static const struct drm_driver arcpgu_drm_driver = {
>  	.driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_ATOMIC,
>  	.name = "arcpgu",
>  	.desc = "ARC PGU Controller",
> diff --git a/drivers/gpu/drm/kmb/kmb_drv.c b/drivers/gpu/drm/kmb/kmb_drv.c
> index a31a840ce634..3c49668ec946 100644
> --- a/drivers/gpu/drm/kmb/kmb_drv.c
> +++ b/drivers/gpu/drm/kmb/kmb_drv.c
> @@ -400,7 +400,7 @@ static void kmb_irq_reset(struct drm_device *drm)
>  
>  DEFINE_DRM_GEM_CMA_FOPS(fops);
>  
> -static struct drm_driver kmb_driver = {
> +static const struct drm_driver kmb_driver = {
>  	.driver_features = DRIVER_GEM |
>  	    DRIVER_MODESET | DRIVER_ATOMIC,
>  	.irq_handler = kmb_isr,
> diff --git a/drivers/gpu/drm/tdfx/tdfx_drv.c b/drivers/gpu/drm/tdfx/tdfx_drv.c
> index ab699bf0ac5c..58c185c299f4 100644
> --- a/drivers/gpu/drm/tdfx/tdfx_drv.c
> +++ b/drivers/gpu/drm/tdfx/tdfx_drv.c
> @@ -56,7 +56,7 @@ static const struct file_operations tdfx_driver_fops = {
>  	.llseek = noop_llseek,
>  };
>  
> -static struct drm_driver driver = {
> +static const struct drm_driver driver = {
>  	.driver_features = DRIVER_LEGACY,
>  	.fops = &tdfx_driver_fops,
>  	.name = DRIVER_NAME,
> -- 
> Regards,
> 
> Laurent Pinchart
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

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


More information about the dri-devel mailing list