Re: [PATCH] x86: fix virt_addr_valid() with CONFIG_DEBUG_VIRTUAL=y

From: Jiri Slaby
Date: Wed Oct 01 2008 - 15:32:26 EST


On 10/01/2008 06:52 PM, Andi Kleen wrote:
>> But it seems that the current virt_addr_valid() doesn't take this into
>> account. Should virt_addr_valid() be modified (on both x86_32 and
>> x86_64) to take into account the same checks as __phys_addr() does
>> when DEBUG_VIRTUAL=y? Or is it enough to use pfn_valid()?
>
> At least in Linus' tree virt_addr_valid() is just a wrapper
> around pfn_valid()

Yes, but __pa() used for converting to a physical address used as a parameter
for __pfn_valid() will panic on invalid addresses passed to it when DEBUG_VIRTUAL=y.

Anyway virt_addr_valid() is IMHO wrong. E.g. first modules VM address
0xffffffffa0000000 is after __pa() 200M which is valid pfn after the shift even
on the flatmem model with enough memory.

Am I missing something? What's the exact purpose of the virt_addr_valid()?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/