Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 2 files:
Smatch caller information:
mm/userfaultfd.c mfill_atomic_hugetlb() -> copy_folio_from_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dst_folio | 0,4096-ptr_max |
| PARAM_VALUE | 0 | dst_folio->_hugetlb_subpool | 0 |
| PARAM_VALUE | 0 | dst_folio->page.memcg_data | 0 |
| PARAM_VALUE | 0 | dst_folio->page.zone_device_data->kref.refcount.refs.counter | s32min-s32max |
| PARAM_VALUE | 0 | dst_folio->private | 0 |
| PARAM_VALUE | 1 | usr_src | 0-18446744073709551614 |
| PARAM_VALUE | 2 | allow_pagefault | 1 |
| CAPPED_DATA | 1 | usr_src | 1 |
| CAPPED_DATA | 1 | usr_src | 1 |
| NOSPEC | 1 | usr_src | |
| UNITS | 1 | usr_src | unit_byte |
| LOCK2 | &state.ctx->map_changing_lock |
mm/hugetlb.c hugetlb_mfill_atomic_pte() -> copy_folio_from_user()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | dst_folio | 4096-ptr_max |
| PARAM_VALUE | 0 | dst_folio->lru.next->prev | 4096-ptr_max |
| PARAM_VALUE | 0 | dst_folio->lru.prev->next | 4096-ptr_max |
| PARAM_VALUE | 0 | dst_folio->memcg_data | 4096-18446744073709547520 |
| PARAM_VALUE | 0 | dst_folio->page._refcount.counter | 1 |
| PARAM_VALUE | 1 | usr_src | 0-18446744073709551614 |
| PARAM_VALUE | 2 | allow_pagefault | 0 |
| CAPPED_DATA | 1 | usr_src | 1 |
| CAPPED_DATA | 1 | usr_src | 1 |
| DATA_SOURCE | 0 | dst_folio | r alloc_hugetlb_folio |
| DATA_SOURCE | 1 | usr_src | $3 |
| NOSPEC | 1 | usr_src | |
| UNITS | 1 | usr_src | unit_byte |
| LOCK2 | &state.ctx->map_changing_lock | ||
| HALF_LOCKED2 | &ctx->map_changing_lock | ||
| TYPE_LOCK | (struct userfaultfd_ctx)->map_changing_lock |