Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

fs/libfs.c dcache_dir_lseek() -> scan_positives()

Type Parameter Key Value
PARAM_VALUE 1 p 4096-ptr_max
PARAM_VALUE 3 last 0
BUF_SIZE 0 cursor s32min-(-2),1-s32max
BUF_SIZE 0 cursor s32min-(-2),1-s32max
RX_PATH
TASK_NOT_RUNNING
UNITS 2 count unit_byte
LOCK2 &dentry->d_inode->i_rwsem
TYPE_LOCK (struct inode)->i_rwsem

fs/libfs.c dcache_readdir() -> scan_positives()

Type Parameter Key Value
PARAM_VALUE 1 p 4096-ptr_max
PARAM_VALUE 2 count 1
PARAM_VALUE 3 last 0,4096-ptr_max
PARAM_VALUE 3 last->d_alias->next->pprev 1-u64max
PARAM_VALUE 3 last->d_fsdata->active.counter s32min-s32max
PARAM_VALUE 3 last->d_fsdata->cancellations_mtx.magic 0
PARAM_VALUE 3 last->d_fsdata->d_flags 0-4294967295
PARAM_VALUE 3 last->d_fsdata->d_hash.pprev 0
PARAM_VALUE 3 last->d_fsdata->d_inode 0
PARAM_VALUE 3 last->d_fsdata->d_inode->__i_nlink 0-4294967295
PARAM_VALUE 3 last->d_fsdata->d_inode->i_atime_nsec 0-4294967295
PARAM_VALUE 3 last->d_fsdata->d_inode->i_blkbits 0-255
PARAM_VALUE 3 last->d_fsdata->d_inode->i_bytes 0-u16max
PARAM_VALUE 3 last->d_fsdata->d_inode->i_ctime_nsec 0-4294967295
PARAM_VALUE 3 last->d_fsdata->d_inode->i_dir_seq 0-4294967295
PARAM_VALUE 3 last->d_fsdata->d_inode->i_flags 0-4294967295
PARAM_VALUE 3 last->d_fsdata->d_inode->i_fsnotify_mask 0-4294967295
PARAM_VALUE 3 last->d_fsdata->d_inode->i_generation 0-4294967295
PARAM_VALUE 3 last->d_fsdata->d_inode->i_linklen s32min-s32max
PARAM_VALUE 3 last->d_fsdata->d_inode->i_mode 0-u16max
PARAM_VALUE 3 last->d_fsdata->d_inode->i_mtime_nsec 0-4294967295
PARAM_VALUE 3 last->d_fsdata->d_inode->i_nlink 0-4294967295
PARAM_VALUE 3 last->d_fsdata->d_inode->i_opflags 0-u16max
PARAM_VALUE 3 last->d_fsdata->d_inode->i_rdev 0-4294967295
PARAM_VALUE 3 last->d_fsdata->d_inode->i_wb_frn_avg_time 0-u16max
PARAM_VALUE 3 last->d_fsdata->d_inode->i_wb_frn_history 0-u16max
PARAM_VALUE 3 last->d_fsdata->d_inode->i_wb_frn_winner s32min-s32max
PARAM_VALUE 3 last->d_fsdata->d_inode->i_write_hint 0-4294967295
PARAM_VALUE 3 last->d_fsdata->d_lockref.count s32min-s32max
PARAM_VALUE 3 last->d_fsdata->d_parent->d_lockref.count s32min-s32max
PARAM_VALUE 3 last->d_fsdata->head.first 0
PARAM_VALUE 3 last->d_fsdata->kref.refcount.refs.counter s32min-s32max
PARAM_VALUE 3 last->d_fsdata->lease_gen 0
PARAM_VALUE 3 last->d_fsdata->lease_shared_gen 0
PARAM_VALUE 3 last->d_fsdata->management_timer.flags 0-4294967295
PARAM_VALUE 3 last->d_fsdata->owner->refcnt.counter 0-s32max
PARAM_VALUE 3 last->d_fsdata->ref.refs.counter s32min-s32max
PARAM_VALUE 3 last->d_fsdata->waiters 0
PARAM_VALUE 3 last->d_hash.next->pprev 4096-ptr_max
PARAM_VALUE 3 last->d_hash.pprev 0
PARAM_VALUE 3 last->d_inode 0
PARAM_VALUE 3 last->d_inode->i_lock.rlock.dep_map->name 0-255
PARAM_VALUE 3 last->d_lockref.count (-128),0-s32max
PARAM_VALUE 3 last->d_op->d_dname 0,4096-ptr_max
PARAM_VALUE 3 last->d_op->d_iput 0,4096-ptr_max
PARAM_VALUE 3 last->d_sb->s_fs_info->lookup_lock.rlock.dep_map->name 0-255
PARAM_VALUE 3 last->d_sb->s_roots_lock.rlock.dep_map->name 0-255
PARAM_VALUE 3 last->d_sib->next->pprev 1-u64max
PARAM_VALUE 3 last->waiters 0
BUF_SIZE 0 cursor s32min-(-2),1-s32max
BUF_SIZE 0 cursor s32min-(-2),1-s32max
BUF_SIZE 1 p 8
PARAM_COMPARE 3 &last->d_sib.next <= $1
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 3 last->d_name.name
HALF_LOCKED2 &dir_fp->readdir_lock
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem

fs/libfs.c dcache_readdir() -> scan_positives()

Type Parameter Key Value
PARAM_VALUE 0 cursor 4096-ptr_max
PARAM_VALUE 1 p 4096-ptr_max
PARAM_VALUE 2 count 1
PARAM_VALUE 3 last 4096-ptr_max
PARAM_VALUE 3 last->d_alias->next->pprev 1-u64max
PARAM_VALUE 3 last->d_fsdata->active.counter s32min-s32max
PARAM_VALUE 3 last->d_fsdata->cancellations_mtx.magic 0
PARAM_VALUE 3 last->d_fsdata->d_flags 0-4294967295
PARAM_VALUE 3 last->d_fsdata->d_hash.pprev 0
PARAM_VALUE 3 last->d_fsdata->d_inode 0
PARAM_VALUE 3 last->d_fsdata->d_inode->__i_nlink 0-4294967295
PARAM_VALUE 3 last->d_fsdata->d_inode->i_atime_nsec 0-4294967295
PARAM_VALUE 3 last->d_fsdata->d_inode->i_blkbits 0-255
PARAM_VALUE 3 last->d_fsdata->d_inode->i_bytes 0-u16max
PARAM_VALUE 3 last->d_fsdata->d_inode->i_ctime_nsec 0-4294967295
PARAM_VALUE 3 last->d_fsdata->d_inode->i_dir_seq 0-4294967295
PARAM_VALUE 3 last->d_fsdata->d_inode->i_flags 0-4294967295
PARAM_VALUE 3 last->d_fsdata->d_inode->i_fsnotify_mask 0-4294967295
PARAM_VALUE 3 last->d_fsdata->d_inode->i_generation 0-4294967295
PARAM_VALUE 3 last->d_fsdata->d_inode->i_linklen s32min-s32max
PARAM_VALUE 3 last->d_fsdata->d_inode->i_mode 0-u16max
PARAM_VALUE 3 last->d_fsdata->d_inode->i_mtime_nsec 0-4294967295
PARAM_VALUE 3 last->d_fsdata->d_inode->i_nlink 0-4294967295
PARAM_VALUE 3 last->d_fsdata->d_inode->i_opflags 0-u16max
PARAM_VALUE 3 last->d_fsdata->d_inode->i_rdev 0-4294967295
PARAM_VALUE 3 last->d_fsdata->d_inode->i_wb_frn_avg_time 0-u16max
PARAM_VALUE 3 last->d_fsdata->d_inode->i_wb_frn_history 0-u16max
PARAM_VALUE 3 last->d_fsdata->d_inode->i_wb_frn_winner s32min-s32max
PARAM_VALUE 3 last->d_fsdata->d_inode->i_write_hint 0-4294967295
PARAM_VALUE 3 last->d_fsdata->d_lockref.count s32min-s32max
PARAM_VALUE 3 last->d_fsdata->d_parent->d_lockref.count s32min-s32max
PARAM_VALUE 3 last->d_fsdata->head.first 0
PARAM_VALUE 3 last->d_fsdata->kref.refcount.refs.counter s32min-s32max
PARAM_VALUE 3 last->d_fsdata->lease_gen 0
PARAM_VALUE 3 last->d_fsdata->lease_shared_gen 0
PARAM_VALUE 3 last->d_fsdata->management_timer.flags 0-4294967295
PARAM_VALUE 3 last->d_fsdata->owner->refcnt.counter 0-s32max
PARAM_VALUE 3 last->d_fsdata->ref.refs.counter s32min-s32max
PARAM_VALUE 3 last->d_fsdata->waiters 0
PARAM_VALUE 3 last->d_hash.next->pprev 4096-ptr_max
PARAM_VALUE 3 last->d_inode->i_lock.rlock.dep_map->name 0-255
PARAM_VALUE 3 last->d_lockref.count (-128),0-s32max
PARAM_VALUE 3 last->d_op->d_dname 0,4096-ptr_max
PARAM_VALUE 3 last->d_op->d_iput 0,4096-ptr_max
PARAM_VALUE 3 last->d_sb->s_fs_info->lookup_lock.rlock.dep_map->name 0-255
PARAM_VALUE 3 last->d_sb->s_roots_lock.rlock.dep_map->name 0-255
PARAM_VALUE 3 last->d_sib->next->pprev 1-u64max
PARAM_VALUE 3 *last->d_fsdata->d_fsdata (-4611686018427387904)-4611686018427387903
BUF_SIZE 0 cursor s32min-(-2),1-s32max
BUF_SIZE 0 cursor s32min-(-2),1-s32max
BUF_SIZE 1 p 8
DATA_SOURCE 3 last r scan_positives
PARAM_COMPARE 3 &last->d_sib.next == $1
RX_PATH
TASK_NOT_RUNNING
NO_OVERFLOW_SIMPLE 3 last->d_name.name
HALF_LOCKED2 &dir_fp->readdir_lock
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem