Commit 118b4eed authored by Christophe JAILLET's avatar Christophe JAILLET Committed by Danilo Krummrich
Browse files

drm/nouveau: Constify struct nouveau_job_ops



"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: default avatarChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: default avatarDanilo Krummrich <dakr@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/860e9753d7867aa46b003bb3d0497f1b04065b24.1718381285.git.christophe.jaillet@wanadoo.fr
parent d45bb9c5
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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,
+2 −2
Original line number Diff line number Diff line
@@ -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.
		 */
+1 −1
Original line number Diff line number Diff line
@@ -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,