find vma ()    VMA,   find_vma_inter-
section ()      ,     
    .   ,  
 find_vma  ,       -
,   find_vma intersection ()   NULL.

  ()  do_mmap ():

  

 do_mmap ()       -
 . ,       VMA,  
 ,        
         ,
     .   ,    -
 VMA.     do_mmap ()   ,  
     ,   , 
     VMA   .

 do_mmap ()    <linux/mm.h>  .

unsigned long do_mmap(struct file *file, unsigned long addr,

unsigned long len, unsigned long prot,
unsigned long flag, unsigned long offset)

        file -
     offset;     len .
  file  offset   ,    -
    ()  .   
 (anonymous mapping).     ,   -
     (file-backed mapping).

 addr  (,   ),   -
   .

 prot         .
          
<asm/mman.h>.         ,
  . 14.2.

 flags       VMA.  
   <asm/minan .h>    . 14.3.

 14.2.    

        

PROT_READ   VM_READ

PROT_WRITE   VM_WRITE

PROT_EXEC   VM_EXEC

PROT_NONE     

   325