Yes, the call to the find_vma function is protected from simultaneous access through a semaphore. The scheduler also uses a function with semaphore calls.
2209 down_read(&mm->mmap_sem); 2210 vma = find_vma(mm, start); .... up_read(&mm->mmap_sem); mmap_sem is used to protect this function call which is a read-write semaphore. struct rw_semaphore mmap_sem; defined inside struct mm_struct.
source share