如前文所述,是在4.11验证过的版本。那么之前的版本呢?这个时候会发现很多接口都发生了变化
差别
经过对比,主要在于mmap的接口需要改动。
// 在4.4.125
struct page* mmap_nopage(struct vm_area_struct* vma, struct vm_fault* vmf);
// 在4.4.0
int vm_fault(struct vm_fault *vmf);
经过对比,主要原因在于两个版本间vm_fault的变化,在后续的内核改动中,vm_fault中加入了一个vma的指针。其他逻辑是变化不大的。