[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190419004516.GC559@zn.tnic>
Date: Fri, 19 Apr 2019 02:45:16 +0200
From: Borislav Petkov <bp@...en8.de>
To: PanBian <bianpan2016@....com>, Greg KH <gregkh@...uxfoundation.org>
Cc: Mauro Carvalho Chehab <mchehab@...nel.org>,
James Morse <james.morse@....com>, linux-edac@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: EDAC: Fix memory leak in creating CSROW object
On Fri, Apr 19, 2019 at 08:35:36AM +0800, PanBian wrote:
> Yes, I see that. Because the loop start with (--i), there is no put
> operation for the device that fails to create. So, I think we cannot
> rule out the possibility of memory leak.
Ok, so this is not something you trigger - you're basically staring at
the code?
Well, there's something else questionable in that code which I asked
Greg about today but we didn't finish that conversation, let me CC him.
So AFAIU, devices for which device_add() has returned success,
should be removed with their counterpart device_del().
edac_create_csrow_objects(), however, does put_device() on those in the
"unwinding" loop.
And for the case where device_add() fails, you should do put_device() to
it. I.e., what you're saying.
So I think we need to figure what needs to be done when before fixing
this properly.
Greg?
--
Regards/Gruss,
Boris.
Good mailing practices for 400: avoid top-posting and trim the reply.
Powered by blists - more mailing lists