Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

mm/vmscan.c drain_evictable() -> lru_to_folio()

Type Parameter Key Value
PARAM_VALUE 0 head 4096-ptr_max
PARAM_COMPARE 0 head != $0->next
PARAM_COMPARE 0 head != $0->next
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &lruvec->lru_lock
LOCK2 &of->mutex
LOCK2 &state_mutex
LOCK2 global &cgroup_mutex
LOCK2 irq
LOCK2 rcu_read
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex
TYPE_LOCK (struct lruvec)->lru_lock

mm/vmscan.c fill_evictable() -> lru_to_folio()

Type Parameter Key Value
PARAM_VALUE 0 head 4096-ptr_max
CAPPED_DATA 0 head 1
PARAM_COMPARE 0 head != $0->next
PARAM_COMPARE 0 head != $0->next
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &lruvec->lru_lock
LOCK2 &of->mutex
LOCK2 &state_mutex
LOCK2 global &cgroup_mutex
LOCK2 irq
LOCK2 rcu_read
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex
TYPE_LOCK (struct lruvec)->lru_lock

mm/vmscan.c inc_min_seq() -> lru_to_folio()

Type Parameter Key Value
PARAM_VALUE 0 head 4096-ptr_max
PARAM_COMPARE 0 head != $0->next
PARAM_COMPARE 0 head != $0->next
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &lruvec->lru_lock
LOCK2 irq
LOCK2 rcu_read
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 global &cgroup_mutex
TYPE_LOCK (struct lruvec)->lru_lock

mm/vmscan.c isolate_lru_folios() -> lru_to_folio()

Type Parameter Key Value
PARAM_VALUE 0 head 4096-ptr_max
CAPPED_DATA 0 head 1
PARAM_COMPARE 0 head != $0->next
PARAM_COMPARE 0 head != $0->next
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &lruvec->lru_lock
LOCK2 irq
LOCK2 rcu_read
TYPE_LOCK (struct lruvec)->lru_lock

mm/vmscan.c isolate_lru_folios() -> lru_to_folio()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &lruvec->lru_lock
LOCK2 irq
LOCK2 rcu_read
TYPE_LOCK (struct lruvec)->lru_lock

mm/vmscan.c move_folios_to_lru() -> lru_to_folio()

Type Parameter Key Value
PARAM_VALUE 0 head 2344361713683189760,2771469442418626560,4299409805175390208,8274130844358815744
PARAM_VALUE 0 head->prev 4096-ptr_max
CAPPED_DATA 0 head 1
DATA_SOURCE 0 head $0
PARAM_COMPARE 0 head != $0->next
PARAM_COMPARE 0 head != $0->next
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 rcu_read

mm/vmscan.c reclaim_folio_list() -> lru_to_folio()

Type Parameter Key Value
PARAM_VALUE 0 head 4866421955161948160
PARAM_VALUE 0 head->prev 4096-ptr_max
DATA_SOURCE 0 head $0
PARAM_COMPARE 0 head != $0->next
PARAM_COMPARE 0 head != $0->next
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ctx->walk_control_lock

mm/vmscan.c reclaim_pages() -> lru_to_folio()

Type Parameter Key Value
PARAM_VALUE 0 head 1530643421353156608,3704300689231724544
PARAM_VALUE 0 head->prev 1530643421353156608,3704300689231724544
CAPPED_DATA 0 head 1
DATA_SOURCE 0 head $0
PARAM_COMPARE 0 head != $0->next
PARAM_COMPARE 0 head != $0->next
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ctx->walk_control_lock

mm/vmscan.c reclaim_pages() -> lru_to_folio()

Type Parameter Key Value
PARAM_VALUE 0 head 1530643421353156608,3704300689231724544
PARAM_VALUE 0 head->prev 1530643421353156608,3704300689231724544
CAPPED_DATA 0 head 1
DATA_SOURCE 0 head $0
PARAM_COMPARE 0 head != $0->next
PARAM_COMPARE 0 head != $0->next
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ctx->walk_control_lock

mm/vmscan.c reclaim_pages() -> lru_to_folio()

Type Parameter Key Value
PARAM_VALUE 0 head 1530643421353156608,3704300689231724544
PARAM_VALUE 0 head->prev 1530643421353156608,3704300689231724544
CAPPED_DATA 0 head 1
DATA_SOURCE 0 head $0
PARAM_COMPARE 0 head != $0->next
PARAM_COMPARE 0 head != $0->next
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ctx->walk_control_lock

mm/vmscan.c scan_folios() -> lru_to_folio()

Type Parameter Key Value
PARAM_VALUE 0 head 4096-ptr_max
PARAM_COMPARE 0 head != $0->next
PARAM_COMPARE 0 head != $0->next
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
LOCK2 &lruvec->lru_lock
LOCK2 irq
LOCK2 rcu_read
TYPE_LOCK (struct lruvec)->lru_lock

mm/vmscan.c shrink_active_list() -> lru_to_folio()

Type Parameter Key Value
PARAM_VALUE 0 head 5057960926195404800
PARAM_VALUE 0 head->prev 5057960926195404800
RX_PATH
TASK_NOT_RUNNING

mm/vmscan.c shrink_folio_list() -> lru_to_folio()

Type Parameter Key Value
PARAM_VALUE 0 head 2344361713683189760,4866421955161948160,8274130844358815744,8492999078577258496
PARAM_VALUE 0 head->prev 4096-ptr_max
CAPPED_DATA 0 head 1
DATA_SOURCE 0 head $0
PARAM_COMPARE 0 head != $0->next
PARAM_COMPARE 0 head != $0->next
RX_PATH
TASK_NOT_RUNNING

mm/damon/ops-common.c damon_migrate_folio_list() -> lru_to_folio()

Type Parameter Key Value
PARAM_VALUE 0 head 3533771422711918592
PARAM_VALUE 0 head->prev 3533771422711918592
DATA_SOURCE 0 head $0
PARAM_COMPARE 0 head != $0->next
PARAM_COMPARE 0 head != $0->next
LOCK2 &ctx->walk_control_lock
TYPE_LOCK (struct damon_ctx)->walk_control_lock

mm/damon/ops-common.c damon_migrate_folio_list() -> lru_to_folio()

Type Parameter Key Value
PARAM_VALUE 0 head 3533771422711918592
PARAM_VALUE 0 head->prev 3533771422711918592
DATA_SOURCE 0 head $0
PARAM_COMPARE 0 head != $0->next
PARAM_COMPARE 0 head != $0->next
LOCK2 &ctx->walk_control_lock
TYPE_LOCK (struct damon_ctx)->walk_control_lock

mm/damon/ops-common.c damon_migrate_pages() -> lru_to_folio()

Type Parameter Key Value
PARAM_VALUE 0 head 4096-ptr_max
CAPPED_DATA 0 head 1
DATA_SOURCE 0 head $0
PARAM_COMPARE 0 head != $0->next
PARAM_COMPARE 0 head != $0->next
LOCK2 &ctx->walk_control_lock
TYPE_LOCK (struct damon_ctx)->walk_control_lock

mm/damon/ops-common.c damon_migrate_pages() -> lru_to_folio()

Type Parameter Key Value
PARAM_VALUE 0 head 4096-ptr_max
CAPPED_DATA 0 head 1
DATA_SOURCE 0 head $0
PARAM_COMPARE 0 head != $0->next
PARAM_COMPARE 0 head != $0->next
LOCK2 &ctx->walk_control_lock
TYPE_LOCK (struct damon_ctx)->walk_control_lock

mm/damon/ops-common.c damon_migrate_pages() -> lru_to_folio()

Type Parameter Key Value
PARAM_VALUE 0 head 4096-ptr_max
CAPPED_DATA 0 head 1
DATA_SOURCE 0 head $0
PARAM_COMPARE 0 head != $0->next
PARAM_COMPARE 0 head != $0->next
LOCK2 &ctx->walk_control_lock
TYPE_LOCK (struct damon_ctx)->walk_control_lock

mm/damon/ops-common.c damon_migrate_pages() -> lru_to_folio()

Type Parameter Key Value
PARAM_VALUE 0 head 4096-ptr_max
CAPPED_DATA 0 head 1
DATA_SOURCE 0 head $0
PARAM_COMPARE 0 head != $0->next
PARAM_COMPARE 0 head != $0->next
LOCK2 &ctx->walk_control_lock
TYPE_LOCK (struct damon_ctx)->walk_control_lock