Bug in ioremap: boundary case is wrong

Alan Cox (alan@lxorguk.ukuu.org.uk)
Sun, 26 Jul 1998 17:05:24 +0100 (BST)


The x86 ioremap starts with

if(phys_addr > virt_to_phys(high_memory))
return phys_to_virt(phys_addr);

If you vremap an area whose end point is over the high_memory point your
memory mapping breaks. Surely it should be

if( phys_addr + size > ...)

Alan

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html