函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\madvise.c Create Date:2022-07-27 16:42:59
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:Application wants to free up the pages and associated backing store.* This is effectively punching a hole into the middle of a file.

函数原型:static long madvise_remove(struct vm_area_struct *vma, struct vm_area_struct **prev, unsigned long start, unsigned long end)

返回类型:long

参数:

类型参数名称
struct vm_area_struct *vma
struct vm_area_struct **prev
unsigned longstart
unsigned longend
822  * prev = NULL
824  如果Flags, see mm.h. 按位与VM_LOCKED则返回:负EINVAL
827  f等于File we map to (can be NULL).
829  如果非f或非f_mapping或非host
830  返回:负EINVAL
833  如果Flags, see mm.h. 按位与VM_SHARED按位或VM_WRITE的值的值不等于VM_SHARED按位或VM_WRITE的值则返回:负EACCES
836  offset等于startOur start address within vm_mm. Offset (within vm_file) in PAGE_SIZEunits 左移PAGE_SHIFT determines the page size 位的值
845  get_file(f)
846  如果userfaultfd_remove(vma, start, end)则
848  lease a read lock
850  error等于vfs_fallocate(f, de-allocates range | default is extend size , offset, end - start)
853  fput(f)
854  lock for reading
855  返回:error
调用者
名称描述
madvise_vma