Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

mm/memcontrol.c charge_memcg() -> commit_charge()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 1 objcg 4096-ptr_max
DATA_SOURCE 0 folio $0
DATA_SOURCE 1 objcg r get_obj_cgroup_from_memcg
NOSPEC 0 folio->mapping->writeback_index
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 folio->mapping->writeback_index 0-524287[c]

mm/memcontrol.c mem_cgroup_migrate() -> commit_charge()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 0 folio->mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 folio->mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 1 objcg 4096-ptr_max
DATA_SOURCE 0 folio $1
DATA_SOURCE 1 objcg r get_migration_objcg
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 folio->index
HALF_LOCKED2 &ai->migrate_lock
HALF_LOCKED2 &ctx->completion_lock
HALF_LOCKED2 &ctx->ring_lock
HALF_LOCKED2 flags

mm/memcontrol.c mem_cgroup_replace_folio() -> commit_charge()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 0 folio->memcg_data 0
PARAM_VALUE 1 objcg 4096-ptr_max
DATA_SOURCE 0 folio $1
DATA_SOURCE 1 objcg r get_migration_objcg
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read
HALF_LOCKED2 irq