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