Yuran Pereira
2023-Nov-16 20:52 UTC
[PATCH] drm/nouveau: Removes unnecessary args check in nouveau_uvmm_sm_prepare
Checking `args` after calling `op_map_prepare` is unnecessary since if `op_map_prepare` was to be called with NULL args, it would lead to a NULL pointer dereference, thus never hitting that check. Hence this check can be removed, and a note added to remind users of this function to ensure that args != NULL when calling this function for a map operation as it was suggested by Danilo [1] [1] https://lore.kernel.org/lkml/6a1ebcef-bade-45a0-9bd9-c05f0226eb88 at redhat.com Suggested-by: Danilo Krummrich <dakr at redhat.com> Signed-off-by: Yuran Pereira <yuran.pereira at hotmail.com> --- drivers/gpu/drm/nouveau/nouveau_uvmm.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/nouveau/nouveau_uvmm.c b/drivers/gpu/drm/nouveau/nouveau_uvmm.c index 5cf892c50f43..c8c3f1b1b604 100644 --- a/drivers/gpu/drm/nouveau/nouveau_uvmm.c +++ b/drivers/gpu/drm/nouveau/nouveau_uvmm.c @@ -604,6 +604,10 @@ op_unmap_prepare(struct drm_gpuva_op_unmap *u) drm_gpuva_unmap(u); } +/* + * Note: @args should not be NULL when calling for + * a map operation. + */ static int nouveau_uvmm_sm_prepare(struct nouveau_uvmm *uvmm, struct nouveau_uvma_prealloc *new, @@ -624,7 +628,7 @@ nouveau_uvmm_sm_prepare(struct nouveau_uvmm *uvmm, if (ret) goto unwind; - if (args && vmm_get_range) { + if (vmm_get_range) { ret = nouveau_uvmm_vmm_get(uvmm, vmm_get_start, vmm_get_range); if (ret) { -- 2.25.1
Danilo Krummrich
2023-Nov-30 00:08 UTC
[Nouveau] [PATCH] drm/nouveau: Removes unnecessary args check in nouveau_uvmm_sm_prepare
On 11/16/23 21:52, Yuran Pereira wrote:> Checking `args` after calling `op_map_prepare` is unnecessary since > if `op_map_prepare` was to be called with NULL args, it would lead > to a NULL pointer dereference, thus never hitting that check. > > Hence this check can be removed, and a note added to remind users of > this function to ensure that args != NULL when calling this function > for a map operation as it was suggested by Danilo [1] > > [1] https://lore.kernel.org/lkml/6a1ebcef-bade-45a0-9bd9-c05f0226eb88 at redhat.com > > Suggested-by: Danilo Krummrich <dakr at redhat.com> > Signed-off-by: Yuran Pereira <yuran.pereira at hotmail.com>Applied to drm-misc-next.> --- > drivers/gpu/drm/nouveau/nouveau_uvmm.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/nouveau/nouveau_uvmm.c b/drivers/gpu/drm/nouveau/nouveau_uvmm.c > index 5cf892c50f43..c8c3f1b1b604 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_uvmm.c > +++ b/drivers/gpu/drm/nouveau/nouveau_uvmm.c > @@ -604,6 +604,10 @@ op_unmap_prepare(struct drm_gpuva_op_unmap *u) > drm_gpuva_unmap(u); > } > > +/* > + * Note: @args should not be NULL when calling for > + * a map operation. > + */ > static int > nouveau_uvmm_sm_prepare(struct nouveau_uvmm *uvmm, > struct nouveau_uvma_prealloc *new, > @@ -624,7 +628,7 @@ nouveau_uvmm_sm_prepare(struct nouveau_uvmm *uvmm, > if (ret) > goto unwind; > > - if (args && vmm_get_range) { > + if (vmm_get_range) { > ret = nouveau_uvmm_vmm_get(uvmm, vmm_get_start, > vmm_get_range); > if (ret) {