* [PATCH 4.19] dmaengine: at_hdmac: Fix memory leak @ 2020-09-20 8:28 Pavel Machek 2020-09-23 6:39 ` Ludovic Desroches 2020-09-23 8:13 ` Tudor.Ambarus 0 siblings, 2 replies; 7+ messages in thread From: Pavel Machek @ 2020-09-20 8:28 UTC (permalink / raw) To: linux-kernel, dmaengine, linux-arm-kernel, dan.j.williams, vkoul, ludovic.desroches, stable, Greg KH [-- Attachment #1.1: Type: text/plain, Size: 793 bytes --] This fixes memory leak in at_hdmac. Mainline does not have the same problem. Signed-off-by: Pavel Machek (CIP) <pavel@denx.de> 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 = &dmac_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 [-- Attachment #1.2: Digital signature --] [-- Type: application/pgp-signature, Size: 181 bytes --] [-- Attachment #2: Type: text/plain, Size: 176 bytes --] _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 4.19] dmaengine: at_hdmac: Fix memory leak 2020-09-20 8:28 [PATCH 4.19] dmaengine: at_hdmac: Fix memory leak Pavel Machek @ 2020-09-23 6:39 ` Ludovic Desroches 2020-09-23 8:13 ` Tudor.Ambarus 1 sibling, 0 replies; 7+ messages in thread From: Ludovic Desroches @ 2020-09-23 6:39 UTC (permalink / raw) To: Pavel Machek Cc: Greg KH, linux-kernel, stable, vkoul, dmaengine, dan.j.williams, linux-arm-kernel 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 <pavel@ucw.cz> > To: linux-kernel@vger.kernel.org, dmaengine@vger.kernel.org, > linux-arm-kernel@lists.infradead.org, dan.j.williams@intel.com, > vkoul@kernel.org, ludovic.desroches@microchip.com, stable@vger.kernel.org, > Greg KH <greg@kroah.com> > 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) <pavel@denx.de> Acked-by: Ludovic Desroches <ludovic.desroches@microchip.com> 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 = &dmac_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 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 4.19] dmaengine: at_hdmac: Fix memory leak 2020-09-20 8:28 [PATCH 4.19] dmaengine: at_hdmac: Fix memory leak Pavel Machek 2020-09-23 6:39 ` Ludovic Desroches @ 2020-09-23 8:13 ` Tudor.Ambarus 2020-09-23 8:19 ` Tudor.Ambarus 1 sibling, 1 reply; 7+ messages in thread From: Tudor.Ambarus @ 2020-09-23 8:13 UTC (permalink / raw) To: pavel, linux-kernel, dmaengine, linux-arm-kernel, dan.j.williams, vkoul, Ludovic.Desroches, stable, greg 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) <pavel@denx.de> > > 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 = &dmac_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 stable@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-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 4.19] dmaengine: at_hdmac: Fix memory leak 2020-09-23 8:13 ` Tudor.Ambarus @ 2020-09-23 8:19 ` Tudor.Ambarus 2021-01-04 11:02 ` Greg KH 0 siblings, 1 reply; 7+ messages in thread From: Tudor.Ambarus @ 2020-09-23 8:19 UTC (permalink / raw) To: pavel, linux-kernel, dmaengine, linux-arm-kernel, dan.j.williams, vkoul, Ludovic.Desroches, stable, greg On 9/23/20 11:13 AM, Tudor.Ambarus@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) <pavel@denx.de> >> >> 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 = &dmac_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 stable@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-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel > _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 4.19] dmaengine: at_hdmac: Fix memory leak 2020-09-23 8:19 ` Tudor.Ambarus @ 2021-01-04 11:02 ` Greg KH 2021-01-05 8:03 ` Tudor.Ambarus 0 siblings, 1 reply; 7+ messages in thread From: Greg KH @ 2021-01-04 11:02 UTC (permalink / raw) To: Tudor.Ambarus Cc: linux-kernel, stable, vkoul, Ludovic.Desroches, pavel, dmaengine, dan.j.williams, linux-arm-kernel On Wed, Sep 23, 2020 at 08:19:18AM +0000, Tudor.Ambarus@microchip.com wrote: > On 9/23/20 11:13 AM, Tudor.Ambarus@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) <pavel@denx.de> > >> > >> 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 = &dmac_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 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 4.19] dmaengine: at_hdmac: Fix memory leak 2021-01-04 11:02 ` Greg KH @ 2021-01-05 8:03 ` Tudor.Ambarus 2021-01-06 16:53 ` Greg KH 0 siblings, 1 reply; 7+ messages in thread From: Tudor.Ambarus @ 2021-01-05 8:03 UTC (permalink / raw) To: gregkh Cc: linux-kernel, stable, vkoul, Ludovic.Desroches, pavel, dmaengine, dan.j.williams, linux-arm-kernel 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 +0000, Tudor.Ambarus@microchip.com wrote: >> On 9/23/20 11:13 AM, Tudor.Ambarus@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) <pavel@denx.de> >>>> >>>> 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 = &dmac_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 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 4.19] dmaengine: at_hdmac: Fix memory leak 2021-01-05 8:03 ` Tudor.Ambarus @ 2021-01-06 16:53 ` Greg KH 0 siblings, 0 replies; 7+ messages in thread From: Greg KH @ 2021-01-06 16:53 UTC (permalink / raw) To: Tudor.Ambarus Cc: linux-kernel, stable, vkoul, Ludovic.Desroches, pavel, dmaengine, dan.j.williams, linux-arm-kernel On Tue, Jan 05, 2021 at 08:03:20AM +0000, Tudor.Ambarus@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 +0000, Tudor.Ambarus@microchip.com wrote: > >> On 9/23/20 11:13 AM, Tudor.Ambarus@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) <pavel@denx.de> > >>>> > >>>> 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 = &dmac_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 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2021-01-06 16:54 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2020-09-20 8:28 [PATCH 4.19] dmaengine: at_hdmac: Fix memory leak Pavel Machek 2020-09-23 6:39 ` Ludovic Desroches 2020-09-23 8:13 ` Tudor.Ambarus 2020-09-23 8:19 ` Tudor.Ambarus 2021-01-04 11:02 ` Greg KH 2021-01-05 8:03 ` Tudor.Ambarus 2021-01-06 16:53 ` Greg KH
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).