如前文所述,是在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的指针。其他逻辑是变化不大的。
本文探讨了从4.4.0到4.4.125内核版本中,vm_fault结构的变动如何影响mmap_nopage接口的修改。重点在于理解这两个关键函数的演变及其在内核更新中的作用。
1万+

被折叠的 条评论
为什么被折叠?



