Messages in this thread | | | Subject | Re: scif_insert_vma() | From | Sudeep Dutt <> | Date | Sun, 17 Mar 2019 22:47:40 -0700 |
| |
On Mon, 2019-03-11 at 08:45 +0200, Jarkko Sakkinen wrote: > Hi > > Just wondering what will happen if kzalloc() fails in scif_mmap.c. How > it is recovered? I don't see anything in the VMA callbacks taking care > of this.
Hi Jarkko,
scif_insert_vma(..) is called from scif_mmap(..) and scif_vma_open(..). scif_mmap(..) checks for allocation failures but scif_vma_open(..) does not on purpose.
The vm_operations_struct open(..)/close(..) callbacks do not allow returning errors. The driver will take a reference to the VMA private data structure irrespective of whether the allocation during the open(..) callback succeeds or fails. The close(..) callback cleans up the data structures from the mmap(..) or open(..) callbacks if any.
Thanks, Sudeep Dutt
| |