Re: [PATCH 4.19] dmaengine: at_hdmac: Fix memory leak
On Tue, Jan 05, 2021 at 08:03:20AM +, tudor.amba...@microchip.com wrote: > On 1/4/21 1:02 PM, Greg KH wrote: > > EXTERNAL EMAIL: Do not click links or open attachments unless you know the > > content is safe > > > > On Wed, Sep 23, 2020 at 08:19:18AM +, tudor.amba...@microchip.com wrote: > >> On 9/23/20 11:13 AM, tudor.amba...@microchip.com wrote: > >>> Hi, Pavel, > >>> > >>> On 9/20/20 11:28 AM, Pavel Machek wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you know > the content is safe > > This fixes memory leak in at_hdmac. Mainline does not have the same > problem. > > Signed-off-by: Pavel Machek (CIP) > > diff --git a/drivers/dma/at_hdmac.c b/drivers/dma/at_hdmac.c > index 86427f6ba78c..0847b2055857 100644 > --- a/drivers/dma/at_hdmac.c > +++ b/drivers/dma/at_hdmac.c > @@ -1714,8 +1714,10 @@ static struct dma_chan *at_dma_xlate(struct > of_phandle_args *dma_spec, > atslave->dma_dev = _pdev->dev; > > chan = dma_request_channel(mask, at_dma_filter, atslave); > - if (!chan) > + if (!chan) { > + kfree(atslave); > return NULL; > + } > >>> > >>> Thanks for submitting this to stable. While the fix is good, you can > >>> instead > >>> cherry-pick the commit that hit upstream. In order to do that cleanly on > >>> top > >>> of v4.19.145, you have to pick two other fixes: > >>> > >>> commit a6e7f19c9100 ("dmaengine: at_hdmac: Substitute kzalloc with > >>> kmalloc") > >>> commit 3832b78b3ec2 ("dmaengine: at_hdmac: add missing put_device() call > >>> in at_dma_xlate()")>>> commit a6e7f19c9100 ("dmaengine: at_hdmac: > >>> Substitute kzalloc with kmalloc") > >> > >> this last commit should have been > >> commit e097eb7473d9 ("dmaengine: at_hdmac: add missing kfree() call in > >> at_dma_xlate()") > >> > >> bad copy and paste :) > > > > So are all 3 of those needed on both 5.4.y and 4.19.y to resolve this > > issue? > > > > Yes. I've just cherry-picked all three commits on both v5.4.86 and v4.19.164, > everything looks ok. I also compiled using sama5_defconfig, all good. > > The order in which they should be taken is 1/ a6e7f19c9100, then 2/ > 3832b78b3ec2, > and 3/ e097eb7473d9. Thanks, will go queue those up now. greg k-h
Re: [PATCH 4.19] dmaengine: at_hdmac: Fix memory leak
On 1/4/21 1:02 PM, Greg KH wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you know the > content is safe > > On Wed, Sep 23, 2020 at 08:19:18AM +, tudor.amba...@microchip.com wrote: >> On 9/23/20 11:13 AM, tudor.amba...@microchip.com wrote: >>> Hi, Pavel, >>> >>> On 9/20/20 11:28 AM, Pavel Machek wrote: EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe This fixes memory leak in at_hdmac. Mainline does not have the same problem. Signed-off-by: Pavel Machek (CIP) diff --git a/drivers/dma/at_hdmac.c b/drivers/dma/at_hdmac.c index 86427f6ba78c..0847b2055857 100644 --- a/drivers/dma/at_hdmac.c +++ b/drivers/dma/at_hdmac.c @@ -1714,8 +1714,10 @@ static struct dma_chan *at_dma_xlate(struct of_phandle_args *dma_spec, atslave->dma_dev = _pdev->dev; chan = dma_request_channel(mask, at_dma_filter, atslave); - if (!chan) + if (!chan) { + kfree(atslave); return NULL; + } >>> >>> Thanks for submitting this to stable. While the fix is good, you can instead >>> cherry-pick the commit that hit upstream. In order to do that cleanly on top >>> of v4.19.145, you have to pick two other fixes: >>> >>> commit a6e7f19c9100 ("dmaengine: at_hdmac: Substitute kzalloc with kmalloc") >>> commit 3832b78b3ec2 ("dmaengine: at_hdmac: add missing put_device() call in >>> at_dma_xlate()")>>> commit a6e7f19c9100 ("dmaengine: at_hdmac: Substitute >>> kzalloc with kmalloc") >> >> this last commit should have been >> commit e097eb7473d9 ("dmaengine: at_hdmac: add missing kfree() call in >> at_dma_xlate()") >> >> bad copy and paste :) > > So are all 3 of those needed on both 5.4.y and 4.19.y to resolve this > issue? > Yes. I've just cherry-picked all three commits on both v5.4.86 and v4.19.164, everything looks ok. I also compiled using sama5_defconfig, all good. The order in which they should be taken is 1/ a6e7f19c9100, then 2/ 3832b78b3ec2, and 3/ e097eb7473d9. Cheers, ta
Re: [PATCH 4.19] dmaengine: at_hdmac: Fix memory leak
On Wed, Sep 23, 2020 at 08:19:18AM +, tudor.amba...@microchip.com wrote: > On 9/23/20 11:13 AM, tudor.amba...@microchip.com wrote: > > Hi, Pavel, > > > > On 9/20/20 11:28 AM, Pavel Machek wrote: > >> EXTERNAL EMAIL: Do not click links or open attachments unless you know the > >> content is safe > >> > >> This fixes memory leak in at_hdmac. Mainline does not have the same > >> problem. > >> > >> Signed-off-by: Pavel Machek (CIP) > >> > >> diff --git a/drivers/dma/at_hdmac.c b/drivers/dma/at_hdmac.c > >> index 86427f6ba78c..0847b2055857 100644 > >> --- a/drivers/dma/at_hdmac.c > >> +++ b/drivers/dma/at_hdmac.c > >> @@ -1714,8 +1714,10 @@ static struct dma_chan *at_dma_xlate(struct > >> of_phandle_args *dma_spec, > >> atslave->dma_dev = _pdev->dev; > >> > >> chan = dma_request_channel(mask, at_dma_filter, atslave); > >> - if (!chan) > >> + if (!chan) { > >> + kfree(atslave); > >> return NULL; > >> + } > > > > Thanks for submitting this to stable. While the fix is good, you can instead > > cherry-pick the commit that hit upstream. In order to do that cleanly on top > > of v4.19.145, you have to pick two other fixes: > > > > commit a6e7f19c9100 ("dmaengine: at_hdmac: Substitute kzalloc with kmalloc") > > commit 3832b78b3ec2 ("dmaengine: at_hdmac: add missing put_device() call in > > at_dma_xlate()") > > commit a6e7f19c9100 ("dmaengine: at_hdmac: Substitute kzalloc with kmalloc") > > this last commit should have been > commit e097eb7473d9 ("dmaengine: at_hdmac: add missing kfree() call in > at_dma_xlate()") > > bad copy and paste :) So are all 3 of those needed on both 5.4.y and 4.19.y to resolve this issue? thanks, greg k-h
Re: [PATCH 4.19] dmaengine: at_hdmac: Fix memory leak
On 9/23/20 11:13 AM, tudor.amba...@microchip.com wrote: > Hi, Pavel, > > On 9/20/20 11:28 AM, Pavel Machek wrote: >> EXTERNAL EMAIL: Do not click links or open attachments unless you know the >> content is safe >> >> This fixes memory leak in at_hdmac. Mainline does not have the same >> problem. >> >> Signed-off-by: Pavel Machek (CIP) >> >> diff --git a/drivers/dma/at_hdmac.c b/drivers/dma/at_hdmac.c >> index 86427f6ba78c..0847b2055857 100644 >> --- a/drivers/dma/at_hdmac.c >> +++ b/drivers/dma/at_hdmac.c >> @@ -1714,8 +1714,10 @@ static struct dma_chan *at_dma_xlate(struct >> of_phandle_args *dma_spec, >> atslave->dma_dev = _pdev->dev; >> >> chan = dma_request_channel(mask, at_dma_filter, atslave); >> - if (!chan) >> + if (!chan) { >> + kfree(atslave); >> return NULL; >> + } > > Thanks for submitting this to stable. While the fix is good, you can instead > cherry-pick the commit that hit upstream. In order to do that cleanly on top > of v4.19.145, you have to pick two other fixes: > > commit a6e7f19c9100 ("dmaengine: at_hdmac: Substitute kzalloc with kmalloc") > commit 3832b78b3ec2 ("dmaengine: at_hdmac: add missing put_device() call in > at_dma_xlate()") > commit a6e7f19c9100 ("dmaengine: at_hdmac: Substitute kzalloc with kmalloc") this last commit should have been commit e097eb7473d9 ("dmaengine: at_hdmac: add missing kfree() call in at_dma_xlate()") bad copy and paste :) > > There are also some locking/deadlock fixes in mainline for this driver, > depending on the time you can allocate for this, the list of patches can > increase. > I should have Cc'ed sta...@vger.kernel.org in the first place, my bad. > > Also it may worth to read the rules for submitting to stable at: > https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html > > Cheers, > ta > > ___ > linux-arm-kernel mailing list > linux-arm-ker...@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel >
Re: [PATCH 4.19] dmaengine: at_hdmac: Fix memory leak
Hi, Pavel, On 9/20/20 11:28 AM, Pavel Machek wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you know the > content is safe > > This fixes memory leak in at_hdmac. Mainline does not have the same > problem. > > Signed-off-by: Pavel Machek (CIP) > > diff --git a/drivers/dma/at_hdmac.c b/drivers/dma/at_hdmac.c > index 86427f6ba78c..0847b2055857 100644 > --- a/drivers/dma/at_hdmac.c > +++ b/drivers/dma/at_hdmac.c > @@ -1714,8 +1714,10 @@ static struct dma_chan *at_dma_xlate(struct > of_phandle_args *dma_spec, > atslave->dma_dev = _pdev->dev; > > chan = dma_request_channel(mask, at_dma_filter, atslave); > - if (!chan) > + if (!chan) { > + kfree(atslave); > return NULL; > + } Thanks for submitting this to stable. While the fix is good, you can instead cherry-pick the commit that hit upstream. In order to do that cleanly on top of v4.19.145, you have to pick two other fixes: commit a6e7f19c9100 ("dmaengine: at_hdmac: Substitute kzalloc with kmalloc") commit 3832b78b3ec2 ("dmaengine: at_hdmac: add missing put_device() call in at_dma_xlate()") commit a6e7f19c9100 ("dmaengine: at_hdmac: Substitute kzalloc with kmalloc") There are also some locking/deadlock fixes in mainline for this driver, depending on the time you can allocate for this, the list of patches can increase. I should have Cc'ed sta...@vger.kernel.org in the first place, my bad. Also it may worth to read the rules for submitting to stable at: https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html Cheers, ta
Re: [PATCH 4.19] dmaengine: at_hdmac: Fix memory leak
On Sun, Sep 20, 2020 at 10:28:38AM +0200, Pavel Machek wrote: > Date: Sun, 20 Sep 2020 10:28:38 +0200 > From: Pavel Machek > To: linux-kernel@vger.kernel.org, dmaeng...@vger.kernel.org, > linux-arm-ker...@lists.infradead.org, dan.j.willi...@intel.com, > vk...@kernel.org, ludovic.desroc...@microchip.com, sta...@vger.kernel.org, > Greg KH > Subject: [PATCH 4.19] dmaengine: at_hdmac: Fix memory leak > > > This fixes memory leak in at_hdmac. Mainline does not have the same > problem. > > Signed-off-by: Pavel Machek (CIP) Acked-by: Ludovic Desroches Thanks. > > diff --git a/drivers/dma/at_hdmac.c b/drivers/dma/at_hdmac.c > index 86427f6ba78c..0847b2055857 100644 > --- a/drivers/dma/at_hdmac.c > +++ b/drivers/dma/at_hdmac.c > @@ -1714,8 +1714,10 @@ static struct dma_chan *at_dma_xlate(struct > of_phandle_args *dma_spec, > atslave->dma_dev = _pdev->dev; > > chan = dma_request_channel(mask, at_dma_filter, atslave); > - if (!chan) > + if (!chan) { > + kfree(atslave); > return NULL; > + } > > atchan = to_at_dma_chan(chan); > atchan->per_if = dma_spec->args[0] & 0xff; > > -- > (english) http://www.livejournal.com/~pavelmachek > (cesky, pictures) > http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
[PATCH 4.19] dmaengine: at_hdmac: Fix memory leak
This fixes memory leak in at_hdmac. Mainline does not have the same problem. Signed-off-by: Pavel Machek (CIP) diff --git a/drivers/dma/at_hdmac.c b/drivers/dma/at_hdmac.c index 86427f6ba78c..0847b2055857 100644 --- a/drivers/dma/at_hdmac.c +++ b/drivers/dma/at_hdmac.c @@ -1714,8 +1714,10 @@ static struct dma_chan *at_dma_xlate(struct of_phandle_args *dma_spec, atslave->dma_dev = _pdev->dev; chan = dma_request_channel(mask, at_dma_filter, atslave); - if (!chan) + if (!chan) { + kfree(atslave); return NULL; + } atchan = to_at_dma_chan(chan); atchan->per_if = dma_spec->args[0] & 0xff; -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html signature.asc Description: Digital signature