lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sun, 13 Jan 2013 11:40:12 +0100 From: Geert Uytterhoeven <geert@...ux-m68k.org> To: Marek Szyprowski <m.szyprowski@...sung.com> Cc: linux-arch@...r.kernel.org, linux-kernel@...r.kernel.org, linux-media@...r.kernel.org, linux-m68k@...r.kernel.org Subject: Re: [PATCH/RFC 4/4] common: dma-mapping: Move dma_common_*() to <linux/dma-mapping.h> Hi Marek, On Wed, Jan 2, 2013 at 3:22 PM, Marek Szyprowski <m.szyprowski@...sung.com> wrote: > On 12/28/2012 8:23 PM, Geert Uytterhoeven wrote: >> dma_common_mmap() and dma_common_get_sgtable() are defined in >> drivers/base/dma-mapping.c, and always compiled if CONFIG_HAS_DMA=y. >> >> However, their forward declarations and the inline functions defined on >> top >> of them (dma_mmap_attrs(), dma_mmap_coherent(), dma_mmap_writecombine(), >> dma_get_sgtable_attrs()), dma_get_sgtable()) are in >> <asm-generic/dma-mapping-common.h>, which is not included by all >> architectures supporting CONFIG_HAS_DMA=y. There exist no alternative >> implementations. >> >> Hence for e.g. m68k allmodconfig, I get: >> >> drivers/media/v4l2-core/videobuf2-dma-contig.c: In function ‘vb2_dc_mmap’: >> drivers/media/v4l2-core/videobuf2-dma-contig.c:204: error: implicit >> declaration of function ‘dma_mmap_coherent’ >> drivers/media/v4l2-core/videobuf2-dma-contig.c: In function >> ‘vb2_dc_get_base_sgt’: >> drivers/media/v4l2-core/videobuf2-dma-contig.c:387: error: implicit >> declaration of function ‘dma_get_sgtable’ >> >> To fix this >> - Move the forward declarations and inline definitions to >> <linux/dma-mapping.h>, so all CONFIG_HAS_DMA=y architectures can use >> them, >> - Replace the hard "BUG_ON(!ops)" checks for dma_map_ops by soft >> checks, >> so architectures can fall back to the common code by returning NULL >> from their get_dma_ops(). Note that there are no "BUG_ON(!ops)" >> checks >> in other functions in <asm-generic/dma-mapping-common.h>, >> - Make "struct dma_map_ops *ops" const while we're at it. > > > I think that more appropriate way of handling it is to avoid dma_map_ops > based > calls (those archs probably have some reasons why they don't use it at all) > and > provide static inline stubs which call dma_common_mmap and > dma_common_get_sgtable. OK, I'll do that. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@...ux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists