2018-04-23 09:57:43

by Dmitry Osipenko

[permalink] [raw]
Subject: [PATCH v1] gpu: host1x: Fix dma_free_wc() argument in the error path

If IOVA allocation or IOMMU mapping fails, dma_free_wc() is invoked with
size=0 because of a typo, that triggers "kernel BUG at mm/vmalloc.c:124!".

Signed-off-by: Dmitry Osipenko <[email protected]>
---
drivers/gpu/host1x/cdma.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/host1x/cdma.c b/drivers/gpu/host1x/cdma.c
index 93df28228721..0724122afeac 100644
--- a/drivers/gpu/host1x/cdma.c
+++ b/drivers/gpu/host1x/cdma.c
@@ -127,7 +127,7 @@ static int host1x_pushbuffer_init(struct push_buffer *pb)
iommu_free_iova:
__free_iova(&host1x->iova, alloc);
iommu_free_mem:
- dma_free_wc(host1x->dev, pb->alloc_size, pb->mapped, pb->phys);
+ dma_free_wc(host1x->dev, size, pb->mapped, pb->phys);

return err;
}
--
2.17.0



2018-04-23 09:59:41

by Mikko Perttunen

[permalink] [raw]
Subject: Re: [PATCH v1] gpu: host1x: Fix dma_free_wc() argument in the error path

Reviewed-by: Mikko Perttunen <[email protected]>

On 23.04.2018 12:54, Dmitry Osipenko wrote:
> If IOVA allocation or IOMMU mapping fails, dma_free_wc() is invoked with
> size=0 because of a typo, that triggers "kernel BUG at mm/vmalloc.c:124!".
>
> Signed-off-by: Dmitry Osipenko <[email protected]>
> ---
> drivers/gpu/host1x/cdma.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/host1x/cdma.c b/drivers/gpu/host1x/cdma.c
> index 93df28228721..0724122afeac 100644
> --- a/drivers/gpu/host1x/cdma.c
> +++ b/drivers/gpu/host1x/cdma.c
> @@ -127,7 +127,7 @@ static int host1x_pushbuffer_init(struct push_buffer *pb)
> iommu_free_iova:
> __free_iova(&host1x->iova, alloc);
> iommu_free_mem:
> - dma_free_wc(host1x->dev, pb->alloc_size, pb->mapped, pb->phys);
> + dma_free_wc(host1x->dev, size, pb->mapped, pb->phys);
>
> return err;
> }
>

2018-05-14 08:45:42

by Thierry Reding

[permalink] [raw]
Subject: Re: [PATCH v1] gpu: host1x: Fix dma_free_wc() argument in the error path

On Mon, Apr 23, 2018 at 12:54:56PM +0300, Dmitry Osipenko wrote:
> If IOVA allocation or IOMMU mapping fails, dma_free_wc() is invoked with
> size=0 because of a typo, that triggers "kernel BUG at mm/vmalloc.c:124!".
>
> Signed-off-by: Dmitry Osipenko <[email protected]>
> ---
> drivers/gpu/host1x/cdma.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)

Applied, thanks.

Thierry


Attachments:
(No filename) (402.00 B)
signature.asc (849.00 B)
Download all attachments