Re: [PATCH 1/3] driver core/platform: don't leak memory allocated for dma_mask

Emil Goode
2014-05-26T18:31:40Z

Hello Russell,

On Mon, May 26, 2014 at 05:51:05PM +0100, Russell King - ARM Linux wrote:
> On Mon, May 26, 2014 at 06:41:21PM +0200, Emil Goode wrote:
> > @@ -211,6 +215,7 @@ struct platform_device *platform_device_alloc(const char *name, int id)
> > strcpy(pa->name, name);
> > pa->pdev.name = pa->name;
> > pa->pdev.id = id;
> > + pa->pdev.dev.dma_mask = &pa->dma_mask;
>
> There is code in the kernel which, rightly or wrongly, checks whether
> dev->dma_mask is NULL to determine whether the device can do any kind
> of DMA. The above results in devices allocated via this interface
> always having this member set, which is a change of core kernel behaviour.
>
> How sure are you that this will not break anything?

Thank you for pointing this out, considering the number of calls made to
platform_device_alloc it would be easy to miss an occurrance of this problem.
I would say that the risk heavily outweighs the gain and it's better to
not apply this series.

Best regards,

Emil Goode