All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Fabio M. De Francesco" <fmdefrancesco@gmail.com>
To: Pavel Skripkin <paskripkin@gmail.com>,
	Jaehee Park <jhpark1013@gmail.com>
Cc: Larry.Finger@lwfinger.net, phil@philpotter.co.uk,
	gregkh@linuxfoundation.org, linux-staging@lists.linux.dev,
	linux-kernel@vger.kernel.org, outreachy@lists.linux.dev
Subject: Re: [PATCH v2 1/6] staging: r8188eu: remove unused member free_bss_buf
Date: Sun, 17 Apr 2022 23:13:50 +0200	[thread overview]
Message-ID: <3164900.aeNJFYEL58@leap> (raw)
In-Reply-To: <20220417204200.GA236965@jaehee-ThinkPad-X1-Extreme>

On domenica 17 aprile 2022 22:42:00 CEST Jaehee Park wrote:
> On Sun, Apr 17, 2022 at 11:16:38PM +0300, Pavel Skripkin wrote:
> > Hi Jaehee,
> > 
> > On 4/17/22 23:14, Jaehee Park wrote:
> > > My understanding of Pavel's response is the free_bss_buf member of 
the
> > > pmlmepriv structure wasn't being used anywhere and that the
> > > rtw_free_mlme_riv_ie_data function frees the memory of the pmlmepriv
> > > structure so the second check is redundant.
> > > 
> > > However, as Fabio said, the free_bss_buf member is being used and 
pbuf
> > > memory is not being freed.
> > > So I'll revert the patch as it was originally (which was just 
removing
> > > the {} around the single if statement).

No, Jaehee. This is not what I said :)

> > > 
> > 
> > Why just `pbuf` allocation can't be removed? This memory is just 
unused,
> > isn't it?

What Pavel said is what I said, but using a different argumentation.

> > 
> > 
> > With regards,
> > Pavel Skripkin
> 
> 
> The free_bss_buf member is unused.

Correct.

> So it can just be removed right?

No.


> I guess I'm confused by what Pablo is saying about causing a memory 
> leak

A memory leak is caused when you allocate some memory and then you lose any 
reference to its address so that it cannot be freed. Right?

> by getting rid of the pointer to the memory allocated by pbuf.

No.
 
> Sorry if I misunderstood. 

No problem. Let's rewind...

"pbuf" is assigned with the address of some memory allocated with a call to 
vzalloc(). Since "pbuf" is a local variable, you see that the above-
mentioned address is stored in free_bss_buf using the line "pmlmepriv-
>free_bss_buf = pbuf". Is it clear?

Well, you decided to delete the line that calls vfree(pmlmepriv-
>free_bss_buf). At this point you have that memory leak.

Pavel noted that pmlmepriv->free_bss_buf is unused, but it contains the 
address of a region of memory that was allocated for no purpose.

Therefore, a correct patch should also remove the allocation that was made 
using kzalloc(). If you merely remove the line with vfree() you cause a 
memory leak.

Please don't revert your patch. Just fix it with a new version that also 
delete the line where "pbuf" is assigned with the value returned by 
kzalloc().

I hope that now I've been clearer.

Thanks,

Fabio

> Thanks,
> Jaehee
> 





  reply	other threads:[~2022-04-17 21:14 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-15  2:48 [PATCH v2 0/6] staging: r8188eu: fix warnings reported by checkpatch Jaehee Park
2022-04-15  2:48 ` [PATCH v2 1/6] staging: r8188eu: remove unused member free_bss_buf Jaehee Park
2022-04-15  4:29   ` Fabio M. De Francesco
2022-04-17 20:14     ` Jaehee Park
2022-04-17 20:16       ` Pavel Skripkin
2022-04-17 20:42         ` Jaehee Park
2022-04-17 21:13           ` Fabio M. De Francesco [this message]
2022-04-17 22:01             ` Fabio M. De Francesco
2022-04-18  4:49             ` Jaehee Park
2022-04-15  2:48 ` [PATCH v2 2/6] staging: r8188eu: remove spaces before tabs Jaehee Park
2022-04-15  2:48 ` [PATCH v2 3/6] staging: r8188eu: remove 'added by' author comments Jaehee Park
2022-04-17 20:23   ` Pavel Skripkin
2022-04-17 20:49     ` Jaehee Park
2022-04-15  2:48 ` [PATCH v2 4/6] staging: r8188eu: place constants on the right side of tests Jaehee Park
2022-04-15  4:57   ` Fabio M. De Francesco
2022-04-15  2:48 ` [PATCH v2 5/6] staging: r8188eu: replace spaces with tabs Jaehee Park
2022-04-15  2:48 ` [PATCH v2 6/6] staging: r8188eu: correct typo in comments Jaehee Park

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=3164900.aeNJFYEL58@leap \
    --to=fmdefrancesco@gmail.com \
    --cc=Larry.Finger@lwfinger.net \
    --cc=gregkh@linuxfoundation.org \
    --cc=jhpark1013@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-staging@lists.linux.dev \
    --cc=outreachy@lists.linux.dev \
    --cc=paskripkin@gmail.com \
    --cc=phil@philpotter.co.uk \
    /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.