Function report |
Source Code:mm\mmap.c |
Create Date:2022-07-28 14:49:58 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:Emulation of deprecated remap_file_pages() syscall.
Proto:SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size, unsigned long, prot, unsigned long, pgoff, unsigned long, flags)
Type:
Parameter:Nothing
2875 | populate = 0 |
2879 | pr_warn_once("%s (%d) uses deprecated remap_file_pages() syscall. See Documentation/vm/remap_file_pages.rst.\n", comm, pid) |
2891 | If pgoff + (size >> PAGE_SHIFT determines the page size ) < pgoff Then Return ret |
2894 | If lock for writing Then Return -EINTR |
2899 | If Not vma || Not (Flags, see mm.h. & VM_SHARED) Then Go to out |
2902 | If start < Our start address within vm_mm. Then Go to out |
2905 | If start + size > The first byte after our end addresswithin vm_mm. Then |
2910 | If Our start address within vm_mm. != The first byte after our end addresswithin vm_mm. Then Go to out |
2913 | If File we map to (can be NULL). != File we map to (can be NULL). Then Go to out |
2916 | If Flags, see mm.h. != Flags, see mm.h. Then Go to out |
2919 | If start + size <= The first byte after our end addresswithin vm_mm. Then Break |
2927 | prot |= If Flags, see mm.h. & currently active flags Then page can be read Else 0 |
2928 | prot |= If Flags, see mm.h. & VM_WRITE Then page can be written Else 0 |
2929 | prot |= If Flags, see mm.h. & VM_EXEC Then page can be executed Else 0 |
2931 | flags &= do not block on IO |
2933 | If Flags, see mm.h. & VM_LOCKED Then |
2935 | flags |= pages are locked |
2938 | When Our start address within vm_mm. >= start + size cycle |
2944 | vma_adjust_trans_huge(tmp, start, start + size, 0) |
2952 | file = get_file(File we map to (can be NULL). ) |
2953 | ret = do_mmap_pgoff(File we map to (can be NULL). , start, size, prot, flags, pgoff, & populate, NULL) |
2956 | out : |
2957 | lease a write lock |
2958 | If populate Then mm_populate(ret, populate) |
2960 | If Not IS_ERR_VALUE(ret) Then ret = 0 |
2962 | Return ret |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |