All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alex Deucher <alexdeucher@gmail.com>
To: "Christian König" <ckoenig.leichtzumerken@gmail.com>
Cc: arthur.marsh@internode.on.net, Borislav Petkov <bp@alien8.de>,
	jstancek@redhat.com, amd-gfx list <amd-gfx@lists.freedesktop.org>
Subject: Re: [PATCH] drm/radeon: fix error handling in radeon_driver_open_kms
Date: Mon, 17 Jan 2022 13:55:54 -0500	[thread overview]
Message-ID: <CADnq5_PGvqZq_gwPSJoGrfie4u_fc=KU=xrnABvO_HPvYELsrQ@mail.gmail.com> (raw)
In-Reply-To: <20220117093848.1884-1-christian.koenig@amd.com>

On Mon, Jan 17, 2022 at 4:38 AM Christian König
<ckoenig.leichtzumerken@gmail.com> wrote:
>
> The return value was never initialized so the cleanup code executed when
> it isn't even necessary.
>
> Just add proper error handling.
>
> Fixes: 2ad5d8fca195 ("drm/radeon/radeon_kms: Fix a NULL pointer dereference in radeon_driver_open_kms()")
> Signed-off-by: Christian König <christian.koenig@amd.com>

If you kept the same labels, the patch would be smaller, but either way,

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

> ---
>  drivers/gpu/drm/radeon/radeon_kms.c | 22 ++++++++++++----------
>  1 file changed, 12 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/radeon/radeon_kms.c b/drivers/gpu/drm/radeon/radeon_kms.c
> index e2488559cc9f..11ad210919c8 100644
> --- a/drivers/gpu/drm/radeon/radeon_kms.c
> +++ b/drivers/gpu/drm/radeon/radeon_kms.c
> @@ -666,18 +666,18 @@ int radeon_driver_open_kms(struct drm_device *dev, struct drm_file *file_priv)
>                 fpriv = kzalloc(sizeof(*fpriv), GFP_KERNEL);
>                 if (unlikely(!fpriv)) {
>                         r = -ENOMEM;
> -                       goto out_suspend;
> +                       goto err_suspend;
>                 }
>
>                 if (rdev->accel_working) {
>                         vm = &fpriv->vm;
>                         r = radeon_vm_init(rdev, vm);
>                         if (r)
> -                               goto out_fpriv;
> +                               goto err_fpriv;
>
>                         r = radeon_bo_reserve(rdev->ring_tmp_bo.bo, false);
>                         if (r)
> -                               goto out_vm_fini;
> +                               goto err_vm_fini;
>
>                         /* map the ib pool buffer read only into
>                          * virtual address space */
> @@ -685,7 +685,7 @@ int radeon_driver_open_kms(struct drm_device *dev, struct drm_file *file_priv)
>                                                         rdev->ring_tmp_bo.bo);
>                         if (!vm->ib_bo_va) {
>                                 r = -ENOMEM;
> -                               goto out_vm_fini;
> +                               goto err_vm_fini;
>                         }
>
>                         r = radeon_vm_bo_set_addr(rdev, vm->ib_bo_va,
> @@ -693,19 +693,21 @@ int radeon_driver_open_kms(struct drm_device *dev, struct drm_file *file_priv)
>                                                   RADEON_VM_PAGE_READABLE |
>                                                   RADEON_VM_PAGE_SNOOPED);
>                         if (r)
> -                               goto out_vm_fini;
> +                               goto err_vm_fini;
>                 }
>                 file_priv->driver_priv = fpriv;
>         }
>
> -       if (!r)
> -               goto out_suspend;
> +       pm_runtime_mark_last_busy(dev->dev);
> +       pm_runtime_put_autosuspend(dev->dev);
> +       return 0;
>
> -out_vm_fini:
> +err_vm_fini:
>         radeon_vm_fini(rdev, vm);
> -out_fpriv:
> +err_fpriv:
>         kfree(fpriv);
> -out_suspend:
> +
> +err_suspend:
>         pm_runtime_mark_last_busy(dev->dev);
>         pm_runtime_put_autosuspend(dev->dev);
>         return r;
> --
> 2.25.1
>

      parent reply	other threads:[~2022-01-17 18:56 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-17  9:38 [PATCH] drm/radeon: fix error handling in radeon_driver_open_kms Christian König
2022-01-17  9:58 ` Jan Stancek
2022-01-17 11:34 ` Borislav Petkov
2022-01-17 18:55 ` Alex Deucher [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CADnq5_PGvqZq_gwPSJoGrfie4u_fc=KU=xrnABvO_HPvYELsrQ@mail.gmail.com' \
    --to=alexdeucher@gmail.com \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=arthur.marsh@internode.on.net \
    --cc=bp@alien8.de \
    --cc=ckoenig.leichtzumerken@gmail.com \
    --cc=jstancek@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.