On 08/15/2014 04:44 AM, Frantisek Hrbata wrote: > +int valid_phys_addr_range(phys_addr_t addr, size_t count) > +{ > + return addr + count <= __pa(high_memory); > +} > + > +int valid_mmap_phys_addr_range(unsigned long pfn, size_t count) > +{ > + return arch_pfn_possible(pfn + (count >> PAGE_SHIFT)); > +} It definitely fixes the issue as you described it. It's a bit unfortunate that the highmem check isn't tied in to the _existing_ /dev/mem limitations in some way, but it's not a deal breaker for me. The only other thing is to make sure this doesn't add some limitation to 64-bit where we can't map things above the end of memory (end of memory == high_memory on 64-bit). As long as you've done this, I can't see a downside. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>