[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <cd389206-88a6-4e6f-9fca-491fb186ed5e@redhat.com>
Date: Mon, 17 Jun 2024 17:27:18 +0200
From: Danilo Krummrich <dakr@...hat.com>
To: Christophe JAILLET <christophe.jaillet@...adoo.fr>
Cc: linux-kernel@...r.kernel.org, kernel-janitors@...r.kernel.org,
dri-devel@...ts.freedesktop.org, nouveau@...ts.freedesktop.org,
Karol Herbst <kherbst@...hat.com>, Lyude Paul <lyude@...hat.com>,
David Airlie <airlied@...il.com>, Daniel Vetter <daniel@...ll.ch>
Subject: Re: [PATCH] drm/nouveau: Constify struct nouveau_job_ops
On 6/14/24 18:08, Christophe JAILLET wrote:
> "struct nouveau_job_ops" is not modified in these drivers.
>
> Constifying this structure moves some data to a read-only section, so
> increase overall security.
>
> In order to do it, "struct nouveau_job" and "struct nouveau_job_args" also
> need to be adjusted to this new const qualifier.
>
> On a x86_64, with allmodconfig:
> Before:
> ======
> text data bss dec hex filename
> 5570 152 0 5722 165a drivers/gpu/drm/nouveau/nouveau_exec.o
>
> After:
> =====
> text data bss dec hex filename
> 5630 112 0 5742 166e drivers/gpu/drm/nouveau/nouveau_exec.o
>
> Signed-off-by: Christophe JAILLET <christophe.jaillet@...adoo.fr>
Applied to drm-misc-next, thanks!
> ---
> drivers/gpu/drm/nouveau/nouveau_exec.c | 2 +-
> drivers/gpu/drm/nouveau/nouveau_sched.h | 4 ++--
> drivers/gpu/drm/nouveau/nouveau_uvmm.c | 2 +-
> 3 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/nouveau/nouveau_exec.c b/drivers/gpu/drm/nouveau/nouveau_exec.c
> index e65c0ef23bc7..a0b5f1b16e8b 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_exec.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_exec.c
> @@ -188,7 +188,7 @@ nouveau_exec_job_timeout(struct nouveau_job *job)
> return DRM_GPU_SCHED_STAT_NOMINAL;
> }
>
> -static struct nouveau_job_ops nouveau_exec_job_ops = {
> +static const struct nouveau_job_ops nouveau_exec_job_ops = {
> .submit = nouveau_exec_job_submit,
> .armed_submit = nouveau_exec_job_armed_submit,
> .run = nouveau_exec_job_run,
> diff --git a/drivers/gpu/drm/nouveau/nouveau_sched.h b/drivers/gpu/drm/nouveau/nouveau_sched.h
> index e1f01a23e6f6..20cd1da8db73 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_sched.h
> +++ b/drivers/gpu/drm/nouveau/nouveau_sched.h
> @@ -42,7 +42,7 @@ struct nouveau_job_args {
> u32 count;
> } out_sync;
>
> - struct nouveau_job_ops *ops;
> + const struct nouveau_job_ops *ops;
> };
>
> struct nouveau_job {
> @@ -73,7 +73,7 @@ struct nouveau_job {
> u32 count;
> } out_sync;
>
> - struct nouveau_job_ops {
> + const struct nouveau_job_ops {
> /* If .submit() returns without any error, it is guaranteed that
> * armed_submit() is called.
> */
> diff --git a/drivers/gpu/drm/nouveau/nouveau_uvmm.c b/drivers/gpu/drm/nouveau/nouveau_uvmm.c
> index ee02cd833c5e..9402fa320a7e 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_uvmm.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_uvmm.c
> @@ -1534,7 +1534,7 @@ nouveau_uvmm_bind_job_cleanup(struct nouveau_job *job)
> nouveau_uvmm_bind_job_put(bind_job);
> }
>
> -static struct nouveau_job_ops nouveau_bind_job_ops = {
> +static const struct nouveau_job_ops nouveau_bind_job_ops = {
> .submit = nouveau_uvmm_bind_job_submit,
> .armed_submit = nouveau_uvmm_bind_job_armed_submit,
> .run = nouveau_uvmm_bind_job_run,
Powered by blists - more mailing lists