All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sven Van Asbroeck <thesven73@gmail.com>
To: "Koenig, Christian" <Christian.Koenig@amd.com>
Cc: Navid Emamdoost <navid.emamdoost@gmail.com>,
	"emamd001@umn.edu" <emamd001@umn.edu>,
	"smccaman@umn.edu" <smccaman@umn.edu>,
	"kjlu@umn.edu" <kjlu@umn.edu>,
	"Deucher, Alexander" <Alexander.Deucher@amd.com>,
	"Zhou, David(ChunMing)" <David1.Zhou@amd.com>,
	David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
	Rex Zhu <Rex.Zhu@amd.com>, Sam Ravnborg <sam@ravnborg.org>,
	"amd-gfx@lists.freedesktop.org" <amd-gfx@lists.freedesktop.org>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v2] drm/amdgpu: fix multiple memory leaks
Date: Thu, 19 Sep 2019 10:28:22 -0400	[thread overview]
Message-ID: <CAGngYiWHe1mw0+Ay6HO7kG5y8HMriUX3BO8VUcTvGayEK-4JOw@mail.gmail.com> (raw)
In-Reply-To: <88fc639a-32ed-b6c6-f930-552083d5887d@amd.com>

Hi Christian,

On Thu, Sep 19, 2019 at 4:05 AM Koenig, Christian
<Christian.Koenig@amd.com> wrote:
>
> > +out4:
> > +     kfree(i2s_pdata);
> > +out3:
> > +     kfree(adev->acp.acp_res);
> > +out2:
> > +     kfree(adev->acp.acp_cell);
> > +out1:
> > +     kfree(adev->acp.acp_genpd);
>
> kfree on a NULL pointer is harmless, so a single error label should be
> sufficient.

That is true, but I notice that the adev structure comes from outside this
driver:

static int acp_hw_init(void *handle)
{
...
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
...
}

As far as I can tell, the init() does not explicitly set these to NULL:
adev->acp.acp_res
adev->acp.acp_cell
adev->acp.acp_genpd

I am assuming that core code sets these to NULL, before calling
acp_hw_init(). But is that guaranteed or simply a happy accident?
Ie. if they are NULL today, are they likely to remain NULL tomorrow?

Because calling kfree() on a stale pointer would be, well
not good. Especially not on an error path, which typically
does not receive much testing, if any.

My apologies if I have misinterpreted this, I am not familiar with
this code base.

Sven

  reply	other threads:[~2019-09-19 14:28 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-18 16:09 [PATCH] drm/amdgpu: fix multiple memory leaks Navid Emamdoost
2019-09-18 16:09 ` Navid Emamdoost
2019-09-18 17:31 ` Koenig, Christian
     [not found]   ` <7bab24ff-ded7-9f76-ba25-efd07cdd30dd-5C7GfCeVMHo@public.gmane.org>
2019-09-18 19:04     ` Navid Emamdoost
2019-09-18 19:05   ` [PATCH v2] " Navid Emamdoost
2019-09-18 19:45     ` Sven Van Asbroeck
2019-09-19  8:03     ` Koenig, Christian
2019-09-19 14:28       ` Sven Van Asbroeck [this message]
2019-09-19 16:48         ` Koenig, Christian
2019-09-19 16:48           ` Koenig, Christian
2019-09-30 21:26       ` [PATCH v3] drm/amdgpu: fix multiple memory leaks in acp_hw_init Navid Emamdoost
2019-10-01 11:24         ` Markus Elfring
2019-10-01 11:24           ` Markus Elfring
2019-10-01 12:19         ` Koenig, Christian
2019-10-01 12:19           ` Koenig, Christian
2019-10-02  3:46           ` [PATCH v4] " Navid Emamdoost
2019-10-02  5:47             ` Markus Elfring
2019-10-02  5:47               ` Markus Elfring
2019-10-02  6:58             ` Koenig, Christian
2019-10-02  6:58               ` Koenig, Christian
2019-10-02  3:47           ` [PATCH v3] " Navid Emamdoost
2019-09-30 21:31       ` [PATCH v2] drm/amdgpu: fix multiple memory leaks Navid Emamdoost
2019-09-27 16:37     ` Markus Elfring
2019-09-27 16:37       ` Markus Elfring

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=CAGngYiWHe1mw0+Ay6HO7kG5y8HMriUX3BO8VUcTvGayEK-4JOw@mail.gmail.com \
    --to=thesven73@gmail.com \
    --cc=Alexander.Deucher@amd.com \
    --cc=Christian.Koenig@amd.com \
    --cc=David1.Zhou@amd.com \
    --cc=Rex.Zhu@amd.com \
    --cc=airlied@linux.ie \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=emamd001@umn.edu \
    --cc=kjlu@umn.edu \
    --cc=linux-kernel@vger.kernel.org \
    --cc=navid.emamdoost@gmail.com \
    --cc=sam@ravnborg.org \
    --cc=smccaman@umn.edu \
    /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.