2021-08-04 03:05:08

by Tuo Li

[permalink] [raw]
Subject: [PATCH] drm/amdgpu: drop redundant null-pointer checks in amdgpu_ttm_tt_populate() and amdgpu_ttm_tt_unpopulate()

The varialbe gtt in the function amdgpu_ttm_tt_populate() and
amdgpu_ttm_tt_unpopulate() is guaranteed to be not NULL in the context.
Thus the null-pointer checks are redundant and can be dropped.

Reported-by: TOTE Robot <[email protected]>
Signed-off-by: Tuo Li <[email protected]>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
index 3a55f08e00e1..719539bd6c44 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
@@ -1121,7 +1121,7 @@ static int amdgpu_ttm_tt_populate(struct ttm_device *bdev,
struct amdgpu_ttm_tt *gtt = (void *)ttm;

/* user pages are bound by amdgpu_ttm_tt_pin_userptr() */
- if (gtt && gtt->userptr) {
+ if (gtt->userptr) {
ttm->sg = kzalloc(sizeof(struct sg_table), GFP_KERNEL);
if (!ttm->sg)
return -ENOMEM;
@@ -1146,7 +1146,7 @@ static void amdgpu_ttm_tt_unpopulate(struct ttm_device *bdev,
struct amdgpu_ttm_tt *gtt = (void *)ttm;
struct amdgpu_device *adev;

- if (gtt && gtt->userptr) {
+ if (gtt->userptr) {
amdgpu_ttm_tt_set_user_pages(ttm, NULL);
kfree(ttm->sg);
ttm->sg = NULL;
--
2.25.1



2021-08-04 07:12:40

by Christian König

[permalink] [raw]
Subject: Re: [PATCH] drm/amdgpu: drop redundant null-pointer checks in amdgpu_ttm_tt_populate() and amdgpu_ttm_tt_unpopulate()

Am 04.08.21 um 03:51 schrieb Tuo Li:
> The varialbe gtt in the function amdgpu_ttm_tt_populate() and
> amdgpu_ttm_tt_unpopulate() is guaranteed to be not NULL in the context.
> Thus the null-pointer checks are redundant and can be dropped.
>
> Reported-by: TOTE Robot <[email protected]>
> Signed-off-by: Tuo Li <[email protected]>

Reviewed-by: Christian König <[email protected]>

> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> index 3a55f08e00e1..719539bd6c44 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> @@ -1121,7 +1121,7 @@ static int amdgpu_ttm_tt_populate(struct ttm_device *bdev,
> struct amdgpu_ttm_tt *gtt = (void *)ttm;
>
> /* user pages are bound by amdgpu_ttm_tt_pin_userptr() */
> - if (gtt && gtt->userptr) {
> + if (gtt->userptr) {
> ttm->sg = kzalloc(sizeof(struct sg_table), GFP_KERNEL);
> if (!ttm->sg)
> return -ENOMEM;
> @@ -1146,7 +1146,7 @@ static void amdgpu_ttm_tt_unpopulate(struct ttm_device *bdev,
> struct amdgpu_ttm_tt *gtt = (void *)ttm;
> struct amdgpu_device *adev;
>
> - if (gtt && gtt->userptr) {
> + if (gtt->userptr) {
> amdgpu_ttm_tt_set_user_pages(ttm, NULL);
> kfree(ttm->sg);
> ttm->sg = NULL;


2021-08-05 05:17:38

by Alex Deucher

[permalink] [raw]
Subject: Re: [PATCH] drm/amdgpu: drop redundant null-pointer checks in amdgpu_ttm_tt_populate() and amdgpu_ttm_tt_unpopulate()

Applied. Thanks!

Alex

On Wed, Aug 4, 2021 at 2:49 AM Christian König <[email protected]> wrote:
>
> Am 04.08.21 um 03:51 schrieb Tuo Li:
> > The varialbe gtt in the function amdgpu_ttm_tt_populate() and
> > amdgpu_ttm_tt_unpopulate() is guaranteed to be not NULL in the context.
> > Thus the null-pointer checks are redundant and can be dropped.
> >
> > Reported-by: TOTE Robot <[email protected]>
> > Signed-off-by: Tuo Li <[email protected]>
>
> Reviewed-by: Christian König <[email protected]>
>
> > ---
> > drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> > index 3a55f08e00e1..719539bd6c44 100644
> > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> > @@ -1121,7 +1121,7 @@ static int amdgpu_ttm_tt_populate(struct ttm_device *bdev,
> > struct amdgpu_ttm_tt *gtt = (void *)ttm;
> >
> > /* user pages are bound by amdgpu_ttm_tt_pin_userptr() */
> > - if (gtt && gtt->userptr) {
> > + if (gtt->userptr) {
> > ttm->sg = kzalloc(sizeof(struct sg_table), GFP_KERNEL);
> > if (!ttm->sg)
> > return -ENOMEM;
> > @@ -1146,7 +1146,7 @@ static void amdgpu_ttm_tt_unpopulate(struct ttm_device *bdev,
> > struct amdgpu_ttm_tt *gtt = (void *)ttm;
> > struct amdgpu_device *adev;
> >
> > - if (gtt && gtt->userptr) {
> > + if (gtt->userptr) {
> > amdgpu_ttm_tt_set_user_pages(ttm, NULL);
> > kfree(ttm->sg);
> > ttm->sg = NULL;
>