Hi,
asm/pgtable.h has mk_pte() and mk_pte_phys() defined to both call
VTOP() on the address. I think mk_pte_phys() should be passed a
physical address anyway, and therefore shouldn't call VTOP().
It gets used in remap_page_range(), and causes me problems if a
user process does an mmap() on a chunk on /dev/memnc to access
some range of VME address space. There are no kernel mmu tables
for the vme address space so mm_vtop() fails.
Does anyone see any reason why this should not be changed?
Richard.
>>>>> "Richard" == Richard Hirst <richar...@net-tel.co.uk> writes:
Richard> Hi, asm/pgtable.h has mk_pte() and mk_pte_phys() defined to
Richard> both call VTOP() on the address. I think mk_pte_phys()
Richard> should be passed a physical address anyway, and therefore
Richard> shouldn't call VTOP(). It gets used in remap_page_range(),
Richard> and causes me problems if a user process does an mmap() on a
Richard> chunk on /dev/memnc to access some range of VME address
Richard> space. There are no kernel mmu tables for the vme address
Richard> space so mm_vtop() fails.
A side note, Linus and others didn't like the /dev/memnc approach - we
probably need to change it to implement the feature via some ioctl.
Jes