Re: [PATCH net v1] net: macb: fix an issue about leak related system resources

From: Andy Shevchenko
Date: Tue Apr 28 2020 - 10:04:40 EST


On Tue, Apr 28, 2020 at 4:12 PM Dejin Zheng <zhengdejin5@xxxxxxxxx> wrote:
> On Tue, Apr 28, 2020 at 10:42:56AM +0200, Nicolas Ferre wrote:
> > On 28/04/2020 at 05:24, Dejin Zheng wrote:
> > > On Mon, Apr 27, 2020 at 01:33:41PM +0300, Andy Shevchenko wrote:
> > > > On Sat, Apr 25, 2020 at 3:57 PM Dejin Zheng <zhengdejin5@xxxxxxxxx> wrote:
> > > > >
> > > > > A call of the function macb_init() can fail in the function
> > > > > fu540_c000_init. The related system resources were not released
> > > > > then. use devm_ioremap() to replace ioremap() for fix it.
> > > > >
> > > >
> > > > Why not to go further and convert to use devm_platform_ioremap_resource()?
> > > >
> > > devm_platform_ioremap_resource() will call devm_request_mem_region(),
> > > and here did not do it.
> >
> > And what about devm_platform_get_and_ioremap_resource()? This would
> > streamline this whole fu540_c000_init() function.
> >
> Nicolas, the function devm_platform_get_and_ioremap_resource() will also
> call devm_request_mem_region(), after call it, These IO addresses will
> be monopolized by this driver. the devm_ioremap() and ioremap() are not
> do this. if this IO addresses will be shared with the other driver, call
> devm_platform_get_and_ioremap_resource() may be fail.

I guess request region is a right thing to do. If driver is sharing
this IO region with something else, it is a delayed bomb attack and
has to be fixed.




--
With Best Regards,
Andy Shevchenko