On 3/20/07, pradeep singh <2500.pradeep@xxxxxxxxx> wrote:
> Hi all,
>
> All questions are related to linux-2.6.20.1.
>
> file linux/mm.h has VMA struct declaration as -
>
> struct vm_area_struct {
> ...
>
> struct vm_operations_struct *vm_ops;
> ...
>
> }
>
> vma_ops is the pointer to the operations related to this VMA struct
> for our process address space(i.e mm_struct) AFAIK.
>
> My question is declaration of the struct vm_operations_struct in the
> same file have some interesting members like
> - open
> - close
> - nopage etc.
> since there is an open and a close related to every VMA struct for a
> process address space, does this means vm_area_struct for a process's
> address space is treated like a file?( in terms with the philosophy of
> almost everything is file :) ) .
>
> Does it means accessing a virtual address space for a process is not
> allowed if open fails or is not allowed?( suppose i do that
> delibarately in my module ).
>
> What if a open succeeds for a vma struct but close fails?
>
> Am i missing something with the concept of "everything is file" ?
>
> Thank you
>
> --psr
>
>
> --
> play the game
>
> --
> To unsubscribe from this list: send an email with
> "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
> Please read the FAQ at http://kernelnewbies.org/FAQ
>
>
> since there is an open and a close related to every VMA struct for a
> process address space, does this means vm_area_struct for a process's
> address space is treated like a file?( in terms with the philosophy of
> almost everything is file :) ) .
Open and close are called when a region is created and deleted respectively.
no_page is used during page faults for locating the pages and
allocating it if needed etc.