как найти правильную vm_area_struct из mm_strucnt и буфера

#linux #kernel

#linux #ядро

Вопрос:

итак, в mm_strucnt есть список vm_area ,

 struct vm_area_struct *mmap_cache; 
 

и я хочу найти ту, которая содержит мой буфер, например, функцию, которая получит sturc_mm и вернет vm_area, содержащую мой буфер

 get_vmArea(userbuffer,current->mm)
 

есть ли какая-либо функция, которая может сделать это за меня, чтобы мне не пришлось искать всю vm_area, пока я не найду ту, которая содержит rang, которая включает мой адрес

Ответ №1:

Эта функция может быть использована

struct vm_area_struct *find_vma(struct mm_struct *mm, беззнаковый длинный addr)