pageno is an int and the PAGE_SHIFT shift is done on an int,
overflowing if the memory is bigger than 2G
This can be reproduced using for example a reserved-memory of 4G
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
reserved_dma: buffer@0 {
compatible = "shared-dma-pool";
no-map;
reg = <0x5 0x00000000 0x1 0x0>;
};
};
Signed-off-by: Kevin Grandemange <kevin.grandemange@allegrodvt.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
|
||
|---|---|---|
| .. | ||
| coherent.c | ||
| contiguous.c | ||
| debug.c | ||
| direct.c | ||
| dummy.c | ||
| Kconfig | ||
| Makefile | ||
| mapping.c | ||
| remap.c | ||
| swiotlb.c | ||
| virt.c | ||