MAX_DMA_ADDRESS overflow with non-zero arm_dma_zone_size and VMSPLIT_3G
Linus Walleij
linus.walleij at linaro.org
Wed Mar 23 08:02:05 PDT 2022
On Mon, Mar 21, 2022 at 4:46 AM Florian Fainelli <f.fainelli at gmail.com> wrote:
> All of the virt_to_phys() and related functions either take a pointer
> size argument (const volatile void *) or an unsigned long argument and
> these are virtual addresses so unable to go over 32-bit anyway.
Oh I ran into that too, in some different context that I since forgot.
A macro that works the same on pointers and unsigned long but with
slightly different semantics :P
I don't know what is the proper thing to do here. Let's involve Arnd
and Ard and Geert!
> Since MAX_DMA_ADDRESS is intended to be "This is the maximum virtual
> address which can be DMA'd from.", should we make sure that we clamp it
> below 32-bit in case it overflows?
Hmmmm.... I don't know what that would mean in practice?
Yours,
Linus Walleij
More information about the linux-arm-kernel
mailing list