函数逻辑报告 |
Source Code:mm\memory.c |
Create Date:2022-07-27 16:11:08 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:__follow_pte_pmd
函数原型:static int __follow_pte_pmd(struct mm_struct *mm, unsigned long address, struct mmu_notifier_range *range, pte_t **ptepp, pmd_t **pmdpp, spinlock_t **ptlp)
返回类型:int
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct mm_struct * | mm | |
| unsigned long | address | |
| struct mmu_notifier_range * | range | |
| pte_t ** | ptepp | |
| pmd_t ** | pmdpp | |
| spinlock_t ** | ptlp |
| 4295 | p4d等于p4d_offset(pgd, address) |
| 4299 | pud等于pud_offset(p4d, address) |
| 4303 | pmd等于pmd_offset(pud, address) |
| 4304 | VM_BUG_ON(pmd_trans_huge( * pmd)) |
| 4310 | 如果range则 |
| 4311 | mmu_notifier_range_init(range, MMU_NOTIFY_CLEAR, 0, NULL, mm, address & PMD_MASK, (address & PMD_MASK) + PMD_SIZE) |
| 4321 | 自旋锁解锁 |
| 4329 | 如果range则 |
| 4330 | mmu_notifier_range_init(range, MMU_NOTIFY_CLEAR, 0, NULL, mm, address & PAGE_MASK, (address & PAGE_MASK) + PAGE_SIZE) |
| 4336 | 如果非pte_present( * ptep)则转到:unlock |
| 4339 | 返回:0 |
| 4340 | unlock : |
| 4341 | pte_unmap_unlock(ptep, * ptlp) |
| 4344 | out : |
| 4345 | 返回:负EINVAL |
| 名称 | 描述 |
|---|---|
| follow_pte | |
| follow_pte_pmd |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |