Le 23/06/2022 à 14:29, Aneesh Kumar K.V a écrit : > Instead of high_memory use VMALLOC_START to validate that the address is > not in the vmalloc range. What's the reason for using VMALLOC_START instead ? The gap between high_memory and VMALLOC_START should not be seen as valid memory either, should it ? If the problem is book3s/64, commit ffa0b64e3be5 ("powerpc: Fix virt_addr_valid() for 64-bit Book3E & 32-bit") says that those additional tests are superfluous for boo3s/64. Maybe it's time to drop unnecessary tests for book3s/64 ? > > Cc: Kefeng Wang <wangkefeng.wang@xxxxxxxxxx> > Cc: Christophe Leroy <christophe.leroy@xxxxxxxxxx> > Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxx> > --- > arch/powerpc/include/asm/page.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/powerpc/include/asm/page.h b/arch/powerpc/include/asm/page.h > index e5f75c70eda8..256cad69e42e 100644 > --- a/arch/powerpc/include/asm/page.h > +++ b/arch/powerpc/include/asm/page.h > @@ -134,7 +134,7 @@ static inline bool pfn_valid(unsigned long pfn) > > #define virt_addr_valid(vaddr) ({ \ > unsigned long _addr = (unsigned long)vaddr; \ > - _addr >= PAGE_OFFSET && _addr < (unsigned long)high_memory && \ > + _addr >= PAGE_OFFSET && _addr < (unsigned long)VMALLOC_START && \ > pfn_valid(virt_to_pfn(_addr)); \ > }) >