Hi Christophe,
A minor nitpick
Christophe Lombard [off-list ref] writes:
+ for (dar = (addr & ~(page_size - 1)); dar < (addr + size); dar += page_size) {
+ if (dar < vma->vm_start || dar > vma->vm_end) {
Code comment in mm_types.h for vm_end says it "The first byte after our
end address within vm_mm". So this condition should be
(dar < vma->vm_start || dar >= vma->vm_end)
~ Vaibhav