Defined in 2 files as a function:
- include/linux/mmu_notifier.h, line 505 (as a function)
- include/linux/mmu_notifier.h, line 623 (as a function)
Referenced in 14 files:
- fs/proc/task_mmu.c
- kernel/events/uprobes.c, line 580
- mm/huge_memory.c
- mm/hugetlb.c
- mm/khugepaged.c
- mm/ksm.c
- mm/madvise.c, line 828
- mm/mapping_dirty_helpers.c, line 209
- mm/memory.c
- mm/migrate_device.c
- mm/mprotect.c, line 628
- mm/mremap.c, line 885
- mm/rmap.c
- mm/userfaultfd.c, line 1759
Smatch caller information:
mm/madvise.c madvise_free_single_vma() -> mmu_notifier_invalidate_range_end()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | range | 4398489290989989888 |
| PARAM_VALUE | 0 | range->event | 1 |
| PARAM_VALUE | 0 | range->flags | 0-1 |
| PARAM_VALUE | 0 | range->mm | 4096-ptr_max |
| PARAM_VALUE | 0 | range->owner | 0 |
| NOSPEC | 0 | range->end | |
| NOSPEC | 0 | range->start | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | range->end | 0-u64max |
| USER_DATA | 0 | range->start | 0-u64max |
| HALF_LOCKED2 | &madv_behavior->mm->mmap_lock | ||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/huge_memory.c __split_huge_pmd() -> mmu_notifier_invalidate_range_end()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | range | 2941470463630782464 |
| PARAM_VALUE | 0 | range->end | 2097152 |
| PARAM_VALUE | 0 | range->event | 1 |
| PARAM_VALUE | 0 | range->flags | 0-1 |
| PARAM_VALUE | 0 | range->mm | 4096-ptr_max |
| PARAM_VALUE | 0 | range->start | 0,2097152-u64max |
| NOSPEC | 0 | range->start | |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | range->end | 2097152[c] |
| USER_DATA | 0 | range->start | 0,2097152-u64max[c] |
| HALF_LOCKED2 | &ctx->map_changing_lock | ||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &oldmm->mmap_lock |
mm/huge_memory.c __split_huge_pud() -> mmu_notifier_invalidate_range_end()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | range | 5173728893640794112 |
| PARAM_VALUE | 0 | range->end | 1073741824 |
| PARAM_VALUE | 0 | range->event | 1 |
| PARAM_VALUE | 0 | range->flags | 0-1 |
| PARAM_VALUE | 0 | range->mm | 4096-ptr_max |
| PARAM_VALUE | 0 | range->start | 0,1073741824-u64max |
| NOSPEC | 0 | range->start | |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | range->end | 1073741824[c] |
| USER_DATA | 0 | range->start | 0,1073741824-u64max[c] |
| HALF_LOCKED2 | &mm->mmap_lock |
mm/huge_memory.c do_huge_zero_wp_pmd() -> mmu_notifier_invalidate_range_end()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | range | 3635562907455660032 |
| PARAM_VALUE | 0 | range->end | 2097152 |
| PARAM_VALUE | 0 | range->event | 1 |
| PARAM_VALUE | 0 | range->flags | 0-1 |
| PARAM_VALUE | 0 | range->mm | 4096-ptr_max |
| PARAM_VALUE | 0 | range->start | 0,2097152-u64max |
| NOSPEC | 0 | range->start | |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | range->end | 2097152[c] |
| USER_DATA | 0 | range->start | 0,2097152-u64max[c] |
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &pool->lock |
mm/huge_memory.c move_pages_huge_pmd() -> mmu_notifier_invalidate_range_end()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | range | 792617696445898752 |
| PARAM_VALUE | 0 | range->event | 1 |
| PARAM_VALUE | 0 | range->flags | 0-1 |
| PARAM_VALUE | 0 | range->mm | 4096-ptr_max |
| PARAM_VALUE | 0 | range->start | 0-18446744073709551614 |
| NOSPEC | 0 | range->start | |
| NOCHECK_CALL | |||
| USER_DATA | 0 | range->end | 2097152-2149580799[c] |
| USER_DATA | 0 | range->start | 0-s32max[c] |
| NO_OVERFLOW_SIMPLE | 0 | range->start | |
| LOCK2 | &ctx->map_changing_lock | ||
| TYPE_LOCK | (struct userfaultfd_ctx)->map_changing_lock |
mm/userfaultfd.c move_pages_ptes() -> mmu_notifier_invalidate_range_end()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | range | 2867112011749175296 |
| PARAM_VALUE | 0 | range->event | 1 |
| PARAM_VALUE | 0 | range->flags | 0-1 |
| PARAM_VALUE | 0 | range->mm | 4096-ptr_max |
| PARAM_VALUE | 0 | range->start | 0-18446744073709551614 |
| NOSPEC | 0 | range->start | |
| NOCHECK_CALL | |||
| USER_DATA | 0 | range->end | 1-9223372039002259454[c] |
| USER_DATA | 0 | range->start | 0-s32max[c] |
| NO_OVERFLOW_SIMPLE | 0 | range->start | |
| LOCK2 | &ctx->map_changing_lock | ||
| TYPE_LOCK | (struct userfaultfd_ctx)->map_changing_lock |
fs/proc/task_mmu.c clear_refs_write() -> mmu_notifier_invalidate_range_end()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | range | 5210798382858874880 |
| PARAM_VALUE | 0 | range->end | u64max |
| PARAM_VALUE | 0 | range->event | 4 |
| PARAM_VALUE | 0 | range->flags | 0-1 |
| PARAM_VALUE | 0 | range->mm | 4096-ptr_max |
| PARAM_VALUE | 0 | range->start | 0 |
| NOCHECK_CALL | |||
| LOCK2 | &mm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
fs/proc/task_mmu.c do_pagemap_scan() -> mmu_notifier_invalidate_range_end()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | range | 7625269519327936512 |
| NOCHECK_CALL | |||
| USER_DATA | 0 | range->end | 4096-u64max[c] |
| USER_DATA | 0 | range->start | 0-18446744073709551614[c] |
| LOCK2 | &mm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/rmap.c make_device_exclusive() -> mmu_notifier_invalidate_range_end()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | range | 1813473871858290688 |
| PARAM_VALUE | 0 | range->end | 4096 |
| PARAM_VALUE | 0 | range->event | 7 |
| PARAM_VALUE | 0 | range->flags | 0-1 |
| PARAM_VALUE | 0 | range->mm | 4096-ptr_max |
| PARAM_VALUE | 0 | range->start | 0 |
| NOSPEC | 0 | range->start | |
| NOCHECK_CALL | |||
| USER_DATA | 0 | range->end | 4096[c] |
| USER_DATA | 0 | range->start | 0[c] |
| LOCK2 | &mm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/rmap.c make_device_exclusive() -> mmu_notifier_invalidate_range_end()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | range | 1813473871858290688 |
| PARAM_VALUE | 0 | range->end | 4096 |
| PARAM_VALUE | 0 | range->event | 7 |
| PARAM_VALUE | 0 | range->flags | 0-1 |
| PARAM_VALUE | 0 | range->mm | 4096-ptr_max |
| PARAM_VALUE | 0 | range->start | 0 |
| NOSPEC | 0 | range->start | |
| NOCHECK_CALL | |||
| USER_DATA | 0 | range->end | 4096[c] |
| USER_DATA | 0 | range->start | 0[c] |
| LOCK2 | &mm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/rmap.c page_vma_mkclean_one() -> mmu_notifier_invalidate_range_end()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | range | 8368949978201804800 |
| PARAM_VALUE | 0 | range->event | 3 |
| PARAM_VALUE | 0 | range->flags | 0-1 |
| PARAM_VALUE | 0 | range->mm | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &((&xas)->xa)->xa_lock | ||
| HALF_LOCKED2 | &mapping->i_mmap_rwsem |
mm/rmap.c try_to_migrate_one() -> mmu_notifier_invalidate_range_end()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | range | 4634392286774272000 |
| PARAM_VALUE | 0 | range->event | 1 |
| PARAM_VALUE | 0 | range->flags | 0-1 |
| PARAM_VALUE | 0 | range->mm | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &anon_vma->root->rwsem | ||
| HALF_LOCKED2 | &folio->private->lock | ||
| HALF_LOCKED2 | &resv_map->rw_sema | ||
| HALF_LOCKED2 | &vma->vm_private_data->rw_sema |
mm/rmap.c try_to_unmap_one() -> mmu_notifier_invalidate_range_end()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | range | 824168844787027968 |
| PARAM_VALUE | 0 | range->event | 1 |
| PARAM_VALUE | 0 | range->flags | 0-1 |
| PARAM_VALUE | 0 | range->mm | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &anon_vma->root->rwsem | ||
| HALF_LOCKED2 | &folio->private->lock |
mm/rmap.c try_to_unmap_poisoned_hugetlb_one() -> mmu_notifier_invalidate_range_end()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | range | 5778953103685988352 |
| PARAM_VALUE | 0 | range->event | 1 |
| PARAM_VALUE | 0 | range->flags | 0-1 |
| PARAM_VALUE | 0 | range->mm | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &anon_vma->root->rwsem | ||
| HALF_LOCKED2 | &folio->private->lock | ||
| HALF_LOCKED2 | &resv_map->rw_sema | ||
| HALF_LOCKED2 | &vma->vm_private_data->rw_sema |
mm/mprotect.c change_pud_range() -> mmu_notifier_invalidate_range_end()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | range | 8912915932843421696 |
| PARAM_VALUE | 0 | range->start | 1-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | range->end | 0[c] |
| USER_DATA | 0 | range->start | 1-u64max[c] |
| NO_OVERFLOW_SIMPLE | 0 | range->end | |
| NO_OVERFLOW_SIMPLE | 0 | range->start | |
| HALF_LOCKED2 | &dst_mm->mmap_lock | ||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | _T->lock |
mm/hugetlb.c copy_hugetlb_page_range() -> mmu_notifier_invalidate_range_end()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | range | 7135294135759257600 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &mm->mmap_lock | ||
| LOCK2 | &oldmm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/hugetlb.c hugetlb_change_protection() -> mmu_notifier_invalidate_range_end()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | range | 1442440342106030080 |
| PARAM_VALUE | 0 | range->event | 2 |
| PARAM_VALUE | 0 | range->flags | 0-1 |
| PARAM_VALUE | 0 | range->mm | 4096-ptr_max |
| NOSPEC | 0 | range->end | |
| NOSPEC | 0 | range->start | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | range->end | 0-2147483648[c] |
| USER_DATA | 0 | range->start | 0-u64max |
| HALF_LOCKED2 | &dst_mm->mmap_lock | ||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | _T->lock |
mm/hugetlb.c hugetlb_unshare_pmds() -> mmu_notifier_invalidate_range_end()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | range | 7156711261230854144 |
| PARAM_VALUE | 0 | range->end | 1073741824-u64max |
| PARAM_VALUE | 0 | range->event | 1 |
| PARAM_VALUE | 0 | range->flags | 0-1 |
| PARAM_VALUE | 0 | range->mm | 4096-ptr_max |
| PARAM_VALUE | 0 | range->start | 0,1073741824-18446744073709551614 |
| NOSPEC | 0 | range->start | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | range->end | 1073741824[c] |
| USER_DATA | 0 | range->start | 0,1073741824-18446744073709551614[c] |
| NO_OVERFLOW_SIMPLE | 0 | range->end | |
| HALF_LOCKED2 | &mm->mmap_lock |
mm/hugetlb.c hugetlb_wp() -> mmu_notifier_invalidate_range_end()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | range | 7395660972796018688 |
| PARAM_VALUE | 0 | range->event | 1 |
| PARAM_VALUE | 0 | range->flags | 0-1 |
| PARAM_VALUE | 0 | range->mm | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | range->start | 0-u64max[c] |
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &pool->lock |
mm/hugetlb.c move_hugetlb_page_tables() -> mmu_notifier_invalidate_range_end()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | range | 2350206470835306496 |
| PARAM_VALUE | 0 | range->event | 1 |
| PARAM_VALUE | 0 | range->flags | 0-1 |
| PARAM_VALUE | 0 | range->mm | 4096-ptr_max |
| NOCHECK_CALL | |||
| USER_DATA | 0 | range->end | 0,1073741824-2147483648[c] |
| USER_DATA | 0 | range->start | 0-u64max |
| LOCK2 | &mapping->i_mmap_rwsem | ||
| LOCK2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &tsk->signal->exec_update_lock | ||
| TYPE_LOCK | (struct address_space)->i_mmap_rwsem | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/hugetlb.c unmap_hugepage_range() -> mmu_notifier_invalidate_range_end()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | range | 3118013816349769728 |
| PARAM_VALUE | 0 | range->event | 1 |
| PARAM_VALUE | 0 | range->flags | 0-1 |
| PARAM_VALUE | 0 | range->mm | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | range->end | 0-2147483648[c] |
| USER_DATA | 0 | range->start | 0-u64max[c] |
| LOCK2 | &mapping->i_mmap_rwsem | ||
| HALF_LOCKED2 | &vma_lock->rw_sema | ||
| TYPE_LOCK | (struct address_space)->i_mmap_rwsem |
mm/mremap.c move_page_tables() -> mmu_notifier_invalidate_range_end()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | range | 3080451775285407744 |
| PARAM_VALUE | 0 | range->event | 0 |
| PARAM_VALUE | 0 | range->flags | 0-1 |
| PARAM_VALUE | 0 | range->mm | 4096-ptr_max |
| NOCHECK_CALL | |||
| USER_DATA | 0 | range->start | 0-u64max |
| LOCK2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &tsk->signal->exec_update_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/ksm.c replace_page() -> mmu_notifier_invalidate_range_end()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | range | 5824036836300570624 |
| PARAM_VALUE | 0 | range->event | 1 |
| PARAM_VALUE | 0 | range->flags | 0-1 |
| PARAM_VALUE | 0 | range->mm | 4096-ptr_max |
| PARAM_VALUE | 0 | range->start | 0-18446744073709551601,18446744073709551603-u64max |
| NOCHECK_CALL | |||
| LOCK2 | &mm->mmap_lock | ||
| LOCK2 | global &ksm_thread_mutex | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/ksm.c write_protect_page() -> mmu_notifier_invalidate_range_end()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | range | 4441515311950295040 |
| PARAM_VALUE | 0 | range->event | 1 |
| PARAM_VALUE | 0 | range->flags | 0-1 |
| PARAM_VALUE | 0 | range->mm | 4096-ptr_max |
| PARAM_VALUE | 0 | range->start | 0-18446744073709551601,18446744073709551603-u64max |
| NOCHECK_CALL | |||
| LOCK2 | &mm->mmap_lock | ||
| LOCK2 | global &ksm_thread_mutex | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/migrate_device.c __migrate_device_pages() -> mmu_notifier_invalidate_range_end()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | range | 8053976726702792704 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | range->end | 4096-s32max[c] |
| USER_DATA | 0 | range->start | 0,4096-s32max[c] |
mm/migrate_device.c migrate_vma_collect() -> mmu_notifier_invalidate_range_end()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | range | 5823594452154339328 |
| PARAM_VALUE | 0 | range->end | 4096-u64max |
| PARAM_VALUE | 0 | range->event | 6 |
| PARAM_VALUE | 0 | range->flags | 0-1 |
| PARAM_VALUE | 0 | range->mm | 4096-ptr_max |
| PARAM_VALUE | 0 | range->start | 0,4096-18446744073709551614 |
| NOSPEC | 0 | range->end | |
| NOSPEC | 0 | range->start | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | range->end | 4096-s32max[c] |
| USER_DATA | 0 | range->start | 0,4096-s32max[c] |
| HALF_LOCKED2 | &driver_migrate_lock | ||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &prange->migrate_mutex | ||
| HALF_LOCKED2 | &svms->lock | ||
| HALF_LOCKED2 | &vm->lock | ||
| HALF_LOCKED2 | global &drm_unplug_srcu |
mm/memory.c copy_page_range() -> mmu_notifier_invalidate_range_end()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | range | 8569428529120919552 |
| PARAM_VALUE | 0 | range->event | 3 |
| PARAM_VALUE | 0 | range->flags | 0-1 |
| PARAM_VALUE | 0 | range->mm | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &mm->mmap_lock | ||
| LOCK2 | &oldmm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/memory.c remove_device_exclusive_entry() -> mmu_notifier_invalidate_range_end()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | range | 5544380132824559616 |
| PARAM_VALUE | 0 | range->end | 4096 |
| PARAM_VALUE | 0 | range->event | 1 |
| PARAM_VALUE | 0 | range->flags | 0-1 |
| PARAM_VALUE | 0 | range->mm | 4096-ptr_max |
| PARAM_VALUE | 0 | range->owner | 0 |
| PARAM_VALUE | 0 | range->start | 0,4096-u64max |
| NOSPEC | 0 | range->start | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | range->end | 4096[c] |
| USER_DATA | 0 | range->start | 0,4096-u64max[c] |
| HALF_LOCKED2 | &mm->mmap_lock |
mm/memory.c unmap_vmas() -> mmu_notifier_invalidate_range_end()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | range | 8560766692117700608 |
| PARAM_VALUE | 0 | range->event | 0 |
| PARAM_VALUE | 0 | range->flags | 0-1 |
| PARAM_VALUE | 0 | range->mm | 4096-ptr_max |
| NOSPEC | 0 | range->end | |
| NOSPEC | 0 | range->start | |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | range->end | 0-u64max |
| USER_DATA | 0 | range->start | 0-u64max[c] |
| HALF_LOCKED2 | &mm->mmap_lock |
mm/memory.c wp_page_copy() -> mmu_notifier_invalidate_range_end()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | range | 6585023926949617664 |
| PARAM_VALUE | 0 | range->end | 4096 |
| PARAM_VALUE | 0 | range->event | 1 |
| PARAM_VALUE | 0 | range->flags | 0-1 |
| PARAM_VALUE | 0 | range->mm | 4096-ptr_max |
| PARAM_VALUE | 0 | range->start | 0,4096-u64max |
| NOSPEC | 0 | range->start | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | range->end | 4096[c] |
| USER_DATA | 0 | range->start | 0,4096-u64max[c] |
| HALF_LOCKED2 | &mm->mmap_lock |
mm/memory.c zap_vma_for_reaping() -> mmu_notifier_invalidate_range_end()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | range | 4201167406952042496 |
| PARAM_VALUE | 0 | range->event | 1 |
| PARAM_VALUE | 0 | range->flags | 0 |
| PARAM_VALUE | 0 | range->mm | 4096-ptr_max |
| NOCHECK_CALL | |||
| LOCK2 | &mm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/memory.c zap_vma_range_batched() -> mmu_notifier_invalidate_range_end()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | range | 3148518515219759104 |
| PARAM_VALUE | 0 | range->event | 1 |
| PARAM_VALUE | 0 | range->flags | 0-1 |
| PARAM_VALUE | 0 | range->mm | 4096-ptr_max |
| NOSPEC | 0 | range->start | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | range->start | 0-u64max |
| HALF_LOCKED2 | &mapping->i_mmap_rwsem |
kernel/events/uprobes.c uprobe_write() -> mmu_notifier_invalidate_range_end()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | range | 7153266549726253056 |
| PARAM_VALUE | 0 | range->end | 4096 |
| PARAM_VALUE | 0 | range->event | 1 |
| PARAM_VALUE | 0 | range->flags | 0-1 |
| PARAM_VALUE | 0 | range->mm | 4096-ptr_max |
| PARAM_VALUE | 0 | range->start | 0,4096-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &uprobe->register_rwsem |
mm/mapping_dirty_helpers.c wp_clean_post_vma() -> mmu_notifier_invalidate_range_end()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | range | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &m->lock | ||
| HALF_LOCKED2 | &mapping->i_mmap_rwsem |
mm/khugepaged.c collapse_huge_page() -> mmu_notifier_invalidate_range_end()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | range | 4707669786698776576 |
| PARAM_VALUE | 0 | range->event | 1 |
| PARAM_VALUE | 0 | range->flags | 0-1 |
| PARAM_VALUE | 0 | range->mm | 4096-ptr_max |
| PARAM_VALUE | 0 | range->start | 0,2097152-18446744073709551614 |
| NOSPEC | 0 | range->start | |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | range->end | 0-u64max[c] |
| USER_DATA | 0 | range->start | 0,2097152-18446744073709551614[c] |
| LOCK2 | &mm->mmap_lock | ||
| LOCK2 | &vma->anon_vma->root->rwsem | ||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| TYPE_LOCK | (struct anon_vma)->rwsem | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/khugepaged.c retract_page_tables() -> mmu_notifier_invalidate_range_end()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | range | 7671385110078320640 |
| PARAM_VALUE | 0 | range->event | 1 |
| PARAM_VALUE | 0 | range->flags | 0-1 |
| PARAM_VALUE | 0 | range->mm | 4096-ptr_max |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | range->start | 0-u64max[c] |
| LOCK2 | &mapping->i_mmap_rwsem | ||
| HALF_LOCKED2 | &mm->mmap_lock | ||
| TYPE_LOCK | (struct address_space)->i_mmap_rwsem |
mm/khugepaged.c try_collapse_pte_mapped_thp() -> mmu_notifier_invalidate_range_end()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | range | 7948911468560355328 |
| PARAM_VALUE | 0 | range->end | 2097152 |
| PARAM_VALUE | 0 | range->event | 1 |
| PARAM_VALUE | 0 | range->flags | 0-1 |
| PARAM_VALUE | 0 | range->mm | 4096-ptr_max |
| PARAM_VALUE | 0 | range->start | 0 |
| NOSPEC | 0 | range->start | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | range->end | 2097152[c] |
| USER_DATA | 0 | range->start | 0[c] |
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/khugepaged.c try_collapse_pte_mapped_thp() -> mmu_notifier_invalidate_range_end()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | range | 7948911468560355328 |
| PARAM_VALUE | 0 | range->end | 2097152 |
| PARAM_VALUE | 0 | range->event | 1 |
| PARAM_VALUE | 0 | range->flags | 0-1 |
| PARAM_VALUE | 0 | range->mm | 4096-ptr_max |
| PARAM_VALUE | 0 | range->start | 0 |
| NOSPEC | 0 | range->start | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | range->end | 2097152[c] |
| USER_DATA | 0 | range->start | 0[c] |
| HALF_LOCKED2 | &mm->mmap_lock | ||
| HALF_LOCKED2 | &mm->mmap_lock |