Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

mm/filemap.c folio_wait_bit_common() -> folio_trylock_flag()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 1 bit_nr 0-1,15
PARAM_VALUE 2 wait 5005949605859762192
PARAM_VALUE 2 wait->flags 0-1,5
BUF_SIZE 0 folio (-1)-s32max
BUF_SIZE 0 folio (-1)-s32max
BUF_SIZE 2 wait 40
DATA_SOURCE 0 folio $0
DATA_SOURCE 1 bit_nr $1
FUZZY_MAX 2 wait->flags 1
BIT_INFO 2 wait->flags 0x0,0x5
NOSPEC 0 folio->mapping->writeback_index
HARD_MAX 1 bit_nr 15
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 folio->mapping->writeback_index 0-524287[c]
NO_OVERFLOW_SIMPLE 0 folio->index
NO_OVERFLOW_SIMPLE 0 folio->mapping->host->i_bytes
NO_OVERFLOW_SIMPLE 0 folio->mapping->host->i_size
UNITS 0 folio unit_page
LOCK2 &q->lock
LOCK2 irq
HALF_LOCKED2 0 &folio->private->lock
TYPE_LOCK (struct wait_queue_head)->lock

mm/filemap.c softleaf_entry_wait_on_locked() -> folio_trylock_flag()

Type Parameter Key Value
PARAM_VALUE 0 folio 4096-ptr_max
PARAM_VALUE 1 bit_nr 0
PARAM_VALUE 2 wait 5258099179438960656
PARAM_VALUE 2 wait->flags 0
BUF_SIZE 2 wait 40
DATA_SOURCE 0 folio r softleaf_to_folio
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
LOCK2 &q->lock
LOCK2 irq
HALF_LOCKED2 ptl
TYPE_LOCK (struct wait_queue_head)->lock