hi, we found a way to come by that problem, we removed the old page mappings by calling do_unmap() and then calling the do_mmap() function. Since existing VMA is deleted during do_unmap(). we are forcing the mmap() to create the vma from the same start address as the deleted vma. I have written a custom mmap() which will then call remmap_page_ranges(). Im not sure if this is the right thing to do, but it works fine !! ...... vm_start = vma->vm_start; vm_size = vma->vm_end - vma->vm_start; do_munmap(current->mm,vm_start,vm_size); ...... do_mmap(file,vm_start,vm_size,prot,MAP_SHARED,0); ...... ~john
Attachment:
pgp00459.pgp
Description: PGP signature