| From | Geert Uytterhoeven <> | Date | Fri, 29 Dec 2017 15:12:25 +0100 | Subject | Re: [PATCH 27/67] dma-direct: add dma address sanity checks |
| |
Hi Christoph,
On Fri, Dec 29, 2017 at 9:18 AM, Christoph Hellwig <hch@lst.de> wrote: > Roughly based on the x86 pci-nommu implementation. > > Signed-off-by: Christoph Hellwig <hch@lst.de>
Thanks for your patch!
> --- a/lib/dma-direct.c > +++ b/lib/dma-direct.c > @@ -9,6 +9,24 @@ > #include <linux/scatterlist.h> > #include <linux/pfn.h> > > +#define DIRECT_MAPPING_ERROR 0 > + > +static bool > +check_addr(struct device *dev, dma_addr_t dma_addr, size_t size, > + const char *caller) > +{ > + if (unlikely(dev && !dma_capable(dev, dma_addr, size))) { > + if (*dev->dma_mask >= DMA_BIT_MASK(32)) { > + dev_err(dev, > + "%s: overflow %llx+%zu of device mask %llx\n",
Please use "%pad" to format dma_addr_t ...
> + caller, (long long)dma_addr, size,
... and use &dma_addr.
> + (long long)*dev->dma_mask);
This cast is not needed, as u64 is unsigned long long in kernelspace on all architectures.
Gr{oetje,eeting}s,
Geert
-- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-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
|