Ping? This patch still seems to be needed as of today...
On Thu, Dec 11, 2014 at 8:12 PM, Marek Szyprowski <m.szyprow...@samsung.com> wrote: > > On 2014-12-08 09:39, Alexandre Courbot wrote: >> >> There doesn't seem to be any valid reason to allocate the pages array >> with the same flags as the buffer itself. Doing so can eventually lead >> to the following safeguard in mm/slab.c to be hit: >> >> BUG_ON(flags & GFP_SLAB_BUG_MASK); >> >> This happens when buffers are allocated with __GFP_DMA32 or >> __GFP_HIGHMEM. >> >> Fix this by allocating the pages array with GFP_KERNEL to follow what is >> done elsewhere in this file. Using GFP_KERNEL in __iommu_alloc_buffer() >> is safe because atomic allocations are handled by __iommu_alloc_atomic(). >> >> Signed-off-by: Alexandre Courbot <acour...@nvidia.com> >> Cc: Russell King <li...@arm.linux.org.uk> >> Cc: Marek Szyprowski <m.szyprow...@samsung.com> >> Cc: Arnd Bergmann <a...@arndb.de> >> Cc: Thierry Reding <tred...@nvidia.com> >> Cc: Konrad Rzeszutek Wilk <konrad.w...@oracle.com> > > > Acked-by: Marek Szyprowski <m.szyprow...@samsung.com> > >> --- >> arch/arm/mm/dma-mapping.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c >> index e8907117861e..bc495354c802 100644 >> --- a/arch/arm/mm/dma-mapping.c >> +++ b/arch/arm/mm/dma-mapping.c >> @@ -1106,7 +1106,7 @@ static struct page **__iommu_alloc_buffer(struct >> device *dev, size_t size, >> int i = 0; >> if (array_size <= PAGE_SIZE) >> - pages = kzalloc(array_size, gfp); >> + pages = kzalloc(array_size, GFP_KERNEL); >> else >> pages = vzalloc(array_size); >> if (!pages) > > > Best regards > -- > Marek Szyprowski, PhD > Samsung R&D Institute Poland > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/