Defined in 2 files as a function:
Referenced in 11 files:
- arch/arm64/kernel/mte.c, line 487
- block/bio.c, line 1358
- mm/folio.c, line 993
- mm/huge_memory.c
- mm/memory-failure.c, line 2760
- mm/mempolicy.c, line 665
- mm/migrate.c
- mm/migrate_device.c, line 161
- mm/page_table_check.c, line 166
- mm/swap_state.c, line 567
- mm/userfaultfd.c, line 2118
Smatch caller information:
mm/huge_memory.c folio_check_splittable() -> is_huge_zero_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| CAPPED_DATA | 0 | folio | 1 |
| DATA_SOURCE | 0 | folio | $0 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING |
mm/huge_memory.c insert_pmd() -> is_huge_zero_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING |
mm/huge_memory.c is_transparent_hugepage() -> is_huge_zero_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| DATA_SOURCE | 0 | folio | $0 |
| LOCK2 | &mm->mmap_lock | ||
| LOCK2 | &split_debug_mutex | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/userfaultfd.c move_pages() -> is_huge_zero_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | folio | r _compound_head |
| LOCK2 | &ctx->map_changing_lock | ||
| TYPE_LOCK | (struct userfaultfd_ctx)->map_changing_lock |
mm/page_table_check.c page_table_check_huge_zero_pmd() -> is_huge_zero_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | ptl |
mm/folio.c folios_put_refs() -> is_huge_zero_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 1-u64max |
| RX_PATH | |||
| TASK_NOT_RUNNING |
mm/migrate_device.c migrate_vma_collect_huge_pmd() -> is_huge_zero_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | folio | r _compound_head |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock |
block/bio.c bio_free_folios() -> is_huge_zero_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | folio | r bvec_folio |
| RX_PATH | |||
| TASK_NOT_RUNNING |
mm/memory-failure.c unpoison_memory() -> is_huge_zero_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | folio | r _compound_head |
| CAPABLE | 0 | 21 | |
| LOCK2 | &attr->mutex | ||
| LOCK2 | global &mf_mutex | ||
| TYPE_LOCK | (struct simple_attr)->mutex |
mm/mempolicy.c queue_folios_pmd() -> is_huge_zero_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| DATA_SOURCE | 0 | folio | r _compound_head |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &mm->mmap_lock |
mm/migrate.c __add_folio_for_migration() -> is_huge_zero_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 1-u64max |
| DATA_SOURCE | 0 | folio | $0 |
| LOCK2 | &mm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/migrate.c do_pages_stat_array() -> is_huge_zero_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 1-u64max |
| DATA_SOURCE | 0 | folio | r folio_walk_start |
| LOCK2 | &mm->mmap_lock | ||
| TYPE_LOCK | (struct mm_struct)->mmap_lock |
mm/swap_state.c free_folio_and_swap_cache() -> is_huge_zero_folio()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | folio | 4096-ptr_max |
| DATA_SOURCE | 0 | folio | $0 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | &anon_vma->root->rwsem |