Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 3 files:

Smatch caller information:

fs/fuse/dax.c fuse_dax_direct_write() -> fuse_direct_io()

Type Parameter Key Value
PARAM_VALUE 0 io 2154835075093929984
PARAM_VALUE 0 io->async 0
PARAM_VALUE 0 io->blocking 0
PARAM_VALUE 0 io->bytes 0
PARAM_VALUE 0 io->done 0
PARAM_VALUE 0 io->err 0
PARAM_VALUE 0 io->iocb 4096-ptr_max
PARAM_VALUE 0 io->lock.dep_map.cpu 0
PARAM_VALUE 0 io->lock.dep_map.ip 0
PARAM_VALUE 0 io->lock.dep_map.key 0
PARAM_VALUE 0 io->lock.dep_map.lock_type 0
PARAM_VALUE 0 io->lock.dep_map.name 0
PARAM_VALUE 0 io->lock.dep_map.wait_type_inner 0
PARAM_VALUE 0 io->lock.dep_map.wait_type_outer 0
PARAM_VALUE 0 io->lock.rlock.dep_map.cpu 0
PARAM_VALUE 0 io->lock.rlock.dep_map.ip 0
PARAM_VALUE 0 io->lock.rlock.dep_map.key 0
PARAM_VALUE 0 io->lock.rlock.dep_map.lock_type 0
PARAM_VALUE 0 io->lock.rlock.dep_map.name 0
PARAM_VALUE 0 io->lock.rlock.dep_map.wait_type_inner 0
PARAM_VALUE 0 io->lock.rlock.dep_map.wait_type_outer 0
PARAM_VALUE 0 io->lock.rlock.magic 0
PARAM_VALUE 0 io->lock.rlock.owner 0
PARAM_VALUE 0 io->lock.rlock.owner_cpu 0
PARAM_VALUE 0 io->lock.rlock.raw_lock.locked 0
PARAM_VALUE 0 io->lock.rlock.raw_lock.locked_pending 0
PARAM_VALUE 0 io->lock.rlock.raw_lock.pending 0
PARAM_VALUE 0 io->lock.rlock.raw_lock.tail 0
PARAM_VALUE 0 io->lock.rlock.raw_lock.val.counter 0
PARAM_VALUE 0 io->offset 0
PARAM_VALUE 0 io->refcnt.refcount.refs.counter 1
PARAM_VALUE 0 io->reqs 0
PARAM_VALUE 0 io->should_dirty 0
PARAM_VALUE 0 io->size 0
PARAM_VALUE 0 io->work.data.counter 0
PARAM_VALUE 0 io->work.entry.next 0
PARAM_VALUE 0 io->work.entry.prev 0
PARAM_VALUE 0 io->work.func 0
PARAM_VALUE 0 io->work.lockdep_map.cpu 0
PARAM_VALUE 0 io->work.lockdep_map.ip 0
PARAM_VALUE 0 io->work.lockdep_map.key 0
PARAM_VALUE 0 io->work.lockdep_map.lock_type 0
PARAM_VALUE 0 io->work.lockdep_map.name 0
PARAM_VALUE 0 io->work.lockdep_map.wait_type_inner 0
PARAM_VALUE 0 io->work.lockdep_map.wait_type_outer 0
PARAM_VALUE 0 io->write 0
PARAM_VALUE 1 iter 4096-ptr_max
PARAM_VALUE 1 iter->count 0-18446744073709551614
PARAM_VALUE 1 iter->data_source 1
PARAM_VALUE 2 ppos 4096-ptr_max
PARAM_VALUE 2 *ppos s64min-9223372036854775806
PARAM_VALUE 3 flags 1
DATA_SOURCE 1 iter $1
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 iter->iov_offset 0-u64max[c]
USER_DATA 2 *ppos s64min-(-2),0-9223372036854775806[c]
USER_PTR 2 ppos
LOCK2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem

fs/fuse/cuse.c cuse_read_iter() -> fuse_direct_io()

Type Parameter Key Value
PARAM_VALUE 0 io 381615178956713984
PARAM_VALUE 0 io->async 0
PARAM_VALUE 0 io->blocking 0
PARAM_VALUE 0 io->bytes 0
PARAM_VALUE 0 io->done 0
PARAM_VALUE 0 io->err 0
PARAM_VALUE 0 io->iocb 4096-ptr_max
PARAM_VALUE 0 io->lock.dep_map.cpu 0
PARAM_VALUE 0 io->lock.dep_map.ip 0
PARAM_VALUE 0 io->lock.dep_map.key 0
PARAM_VALUE 0 io->lock.dep_map.lock_type 0
PARAM_VALUE 0 io->lock.dep_map.name 0
PARAM_VALUE 0 io->lock.dep_map.wait_type_inner 0
PARAM_VALUE 0 io->lock.dep_map.wait_type_outer 0
PARAM_VALUE 0 io->lock.rlock.dep_map.cpu 0
PARAM_VALUE 0 io->lock.rlock.dep_map.ip 0
PARAM_VALUE 0 io->lock.rlock.dep_map.key 0
PARAM_VALUE 0 io->lock.rlock.dep_map.lock_type 0
PARAM_VALUE 0 io->lock.rlock.dep_map.name 0
PARAM_VALUE 0 io->lock.rlock.dep_map.wait_type_inner 0
PARAM_VALUE 0 io->lock.rlock.dep_map.wait_type_outer 0
PARAM_VALUE 0 io->lock.rlock.magic 0
PARAM_VALUE 0 io->lock.rlock.owner 0
PARAM_VALUE 0 io->lock.rlock.owner_cpu 0
PARAM_VALUE 0 io->lock.rlock.raw_lock.locked 0
PARAM_VALUE 0 io->lock.rlock.raw_lock.locked_pending 0
PARAM_VALUE 0 io->lock.rlock.raw_lock.pending 0
PARAM_VALUE 0 io->lock.rlock.raw_lock.tail 0
PARAM_VALUE 0 io->lock.rlock.raw_lock.val.counter 0
PARAM_VALUE 0 io->offset 0
PARAM_VALUE 0 io->refcnt.refcount.refs.counter 1
PARAM_VALUE 0 io->reqs 0
PARAM_VALUE 0 io->should_dirty 0
PARAM_VALUE 0 io->size 0
PARAM_VALUE 0 io->work.data.counter 0
PARAM_VALUE 0 io->work.entry.next 0
PARAM_VALUE 0 io->work.entry.prev 0
PARAM_VALUE 0 io->work.func 0
PARAM_VALUE 0 io->work.lockdep_map.cpu 0
PARAM_VALUE 0 io->work.lockdep_map.ip 0
PARAM_VALUE 0 io->work.lockdep_map.key 0
PARAM_VALUE 0 io->work.lockdep_map.lock_type 0
PARAM_VALUE 0 io->work.lockdep_map.name 0
PARAM_VALUE 0 io->work.lockdep_map.wait_type_inner 0
PARAM_VALUE 0 io->work.lockdep_map.wait_type_outer 0
PARAM_VALUE 0 io->write 0
PARAM_VALUE 2 ppos 9055757648252674048
PARAM_VALUE 2 *ppos 0
PARAM_VALUE 3 flags 2
DATA_SOURCE 1 iter $1
NOSPEC 1 iter->count
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 iter->count 1-1000000000
USER_DATA 1 iter->iov_offset 0-u64max[c]
HALF_LOCKED2 &pool->lock

fs/fuse/cuse.c cuse_write_iter() -> fuse_direct_io()

Type Parameter Key Value
PARAM_VALUE 0 io 2266061028019687424
PARAM_VALUE 0 io->async 0
PARAM_VALUE 0 io->blocking 0
PARAM_VALUE 0 io->bytes 0
PARAM_VALUE 0 io->done 0
PARAM_VALUE 0 io->err 0
PARAM_VALUE 0 io->iocb 4096-ptr_max
PARAM_VALUE 0 io->lock.dep_map.cpu 0
PARAM_VALUE 0 io->lock.dep_map.ip 0
PARAM_VALUE 0 io->lock.dep_map.key 0
PARAM_VALUE 0 io->lock.dep_map.lock_type 0
PARAM_VALUE 0 io->lock.dep_map.name 0
PARAM_VALUE 0 io->lock.dep_map.wait_type_inner 0
PARAM_VALUE 0 io->lock.dep_map.wait_type_outer 0
PARAM_VALUE 0 io->lock.rlock.dep_map.cpu 0
PARAM_VALUE 0 io->lock.rlock.dep_map.ip 0
PARAM_VALUE 0 io->lock.rlock.dep_map.key 0
PARAM_VALUE 0 io->lock.rlock.dep_map.lock_type 0
PARAM_VALUE 0 io->lock.rlock.dep_map.name 0
PARAM_VALUE 0 io->lock.rlock.dep_map.wait_type_inner 0
PARAM_VALUE 0 io->lock.rlock.dep_map.wait_type_outer 0
PARAM_VALUE 0 io->lock.rlock.magic 0
PARAM_VALUE 0 io->lock.rlock.owner 0
PARAM_VALUE 0 io->lock.rlock.owner_cpu 0
PARAM_VALUE 0 io->lock.rlock.raw_lock.locked 0
PARAM_VALUE 0 io->lock.rlock.raw_lock.locked_pending 0
PARAM_VALUE 0 io->lock.rlock.raw_lock.pending 0
PARAM_VALUE 0 io->lock.rlock.raw_lock.tail 0
PARAM_VALUE 0 io->lock.rlock.raw_lock.val.counter 0
PARAM_VALUE 0 io->offset 0
PARAM_VALUE 0 io->refcnt.refcount.refs.counter 1
PARAM_VALUE 0 io->reqs 0
PARAM_VALUE 0 io->should_dirty 0
PARAM_VALUE 0 io->size 0
PARAM_VALUE 0 io->work.data.counter 0
PARAM_VALUE 0 io->work.entry.next 0
PARAM_VALUE 0 io->work.entry.prev 0
PARAM_VALUE 0 io->work.func 0
PARAM_VALUE 0 io->work.lockdep_map.cpu 0
PARAM_VALUE 0 io->work.lockdep_map.ip 0
PARAM_VALUE 0 io->work.lockdep_map.key 0
PARAM_VALUE 0 io->work.lockdep_map.lock_type 0
PARAM_VALUE 0 io->work.lockdep_map.name 0
PARAM_VALUE 0 io->work.lockdep_map.wait_type_inner 0
PARAM_VALUE 0 io->work.lockdep_map.wait_type_outer 0
PARAM_VALUE 0 io->write 0
PARAM_VALUE 2 ppos 6538680259346329600
PARAM_VALUE 2 *ppos 0
PARAM_VALUE 3 flags 3
DATA_SOURCE 1 iter $1
NOSPEC 1 iter->count
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 iter->count 0-18446744073709551614
USER_DATA 1 iter->iov_offset 0-u64max[c]
HALF_LOCKED2 &pool->lock

fs/fuse/file.c __fuse_direct_read() -> fuse_direct_io()

Type Parameter Key Value
PARAM_VALUE 0 io 4096-ptr_max
PARAM_VALUE 0 io->async 0-1
PARAM_VALUE 0 io->bytes (-1)-0
PARAM_VALUE 0 io->err 0
PARAM_VALUE 0 io->iocb 4096-ptr_max
PARAM_VALUE 0 io->iocb->ki_filp 4096-ptr_max
PARAM_VALUE 0 io->reqs 0-1
PARAM_VALUE 0 io->size 0
PARAM_VALUE 0 io->write 0
PARAM_VALUE 2 ppos 4096-ptr_max
PARAM_VALUE 3 flags 0
BUF_SIZE 0 io (-1),232
BUF_SIZE 0 io (-1),232
BUF_SIZE 0 io->done (-1),96
DATA_SOURCE 0 io $0
DATA_SOURCE 1 iter $1
DATA_SOURCE 2 ppos $2
NOSPEC 1 iter->count
NOSPEC 2 *ppos
HARD_MAX 0 io->bytes 0
HARD_MAX 0 io->reqs 1
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 io->iocb->ki_flags 0-s32max[c][u]
USER_DATA 0 io->iocb->ki_ioprio 0-u16max
USER_DATA 0 io->iocb->ki_pos s64min-(-2),0-s64max
USER_DATA 0 io->offset 0-9223372036854775806,9223372036854775808-18446744073709551614
USER_DATA 1 iter->count 0-u64max
USER_DATA 1 iter->iov_offset 0-u64max[c]
USER_DATA 2 *ppos s64min-(-2),0-9223372036854775806
USER_PTR 2 ppos
HALF_LOCKED2 &pool->lock

fs/fuse/file.c fuse_direct_IO() -> fuse_direct_io()

Type Parameter Key Value
PARAM_VALUE 0 io 4096-ptr_max
PARAM_VALUE 0 io->async 0-1
PARAM_VALUE 0 io->bytes (-1)
PARAM_VALUE 0 io->err 0
PARAM_VALUE 0 io->iocb 4096-ptr_max
PARAM_VALUE 0 io->iocb->ki_filp 4096-ptr_max
PARAM_VALUE 0 io->reqs 1
PARAM_VALUE 0 io->size 0
PARAM_VALUE 0 io->write 1
PARAM_VALUE 1 iter 4096-ptr_max
PARAM_VALUE 1 iter->data_source 1
PARAM_VALUE 2 ppos 8639320129230266368
PARAM_VALUE 3 flags 1
BUF_SIZE 0 io 232
BUF_SIZE 0 io->done (-1),96
BUF_SIZE 0 io->iocb (-1),48
DATA_SOURCE 0 io r _kmalloc_noprof
DATA_SOURCE 1 iter $1
NOSPEC 1 iter->count
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 io->iocb->ki_flags 0-s32max[c][u]
USER_DATA 0 io->iocb->ki_ioprio 0-u16max
USER_DATA 0 io->iocb->ki_pos s64min-(-2),0-s64max
USER_DATA 0 io->offset 0-18446744073709551614
USER_DATA 1 iter->count 0-u64max
USER_DATA 1 iter->iov_offset 0-u64max[c]
USER_DATA 2 *ppos s64min-(-2),0-s64max
USER_PTR 2 ppos
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &iocb->ki_filp->f_inode->i_rwsem
HALF_LOCKED2 &pool->lock

fs/fuse/file.c fuse_direct_write_iter() -> fuse_direct_io()

Type Parameter Key Value
PARAM_VALUE 0 io 8198051027761844224
PARAM_VALUE 0 io->async 0
PARAM_VALUE 0 io->blocking 0
PARAM_VALUE 0 io->bytes 0
PARAM_VALUE 0 io->done 0
PARAM_VALUE 0 io->err 0
PARAM_VALUE 0 io->iocb 4096-ptr_max
PARAM_VALUE 0 io->lock.dep_map.cpu 0
PARAM_VALUE 0 io->lock.dep_map.ip 0
PARAM_VALUE 0 io->lock.dep_map.key 0
PARAM_VALUE 0 io->lock.dep_map.lock_type 0
PARAM_VALUE 0 io->lock.dep_map.name 0
PARAM_VALUE 0 io->lock.dep_map.wait_type_inner 0
PARAM_VALUE 0 io->lock.dep_map.wait_type_outer 0
PARAM_VALUE 0 io->lock.rlock.dep_map.cpu 0
PARAM_VALUE 0 io->lock.rlock.dep_map.ip 0
PARAM_VALUE 0 io->lock.rlock.dep_map.key 0
PARAM_VALUE 0 io->lock.rlock.dep_map.lock_type 0
PARAM_VALUE 0 io->lock.rlock.dep_map.name 0
PARAM_VALUE 0 io->lock.rlock.dep_map.wait_type_inner 0
PARAM_VALUE 0 io->lock.rlock.dep_map.wait_type_outer 0
PARAM_VALUE 0 io->lock.rlock.magic 0
PARAM_VALUE 0 io->lock.rlock.owner 0
PARAM_VALUE 0 io->lock.rlock.owner_cpu 0
PARAM_VALUE 0 io->lock.rlock.raw_lock.locked 0
PARAM_VALUE 0 io->lock.rlock.raw_lock.locked_pending 0
PARAM_VALUE 0 io->lock.rlock.raw_lock.pending 0
PARAM_VALUE 0 io->lock.rlock.raw_lock.tail 0
PARAM_VALUE 0 io->lock.rlock.raw_lock.val.counter 0
PARAM_VALUE 0 io->offset 0
PARAM_VALUE 0 io->refcnt.refcount.refs.counter 1
PARAM_VALUE 0 io->reqs 0
PARAM_VALUE 0 io->should_dirty 0
PARAM_VALUE 0 io->size 0
PARAM_VALUE 0 io->work.data.counter 0
PARAM_VALUE 0 io->work.entry.next 0
PARAM_VALUE 0 io->work.entry.prev 0
PARAM_VALUE 0 io->work.func 0
PARAM_VALUE 0 io->work.lockdep_map.cpu 0
PARAM_VALUE 0 io->work.lockdep_map.ip 0
PARAM_VALUE 0 io->work.lockdep_map.key 0
PARAM_VALUE 0 io->work.lockdep_map.lock_type 0
PARAM_VALUE 0 io->work.lockdep_map.name 0
PARAM_VALUE 0 io->work.lockdep_map.wait_type_inner 0
PARAM_VALUE 0 io->work.lockdep_map.wait_type_outer 0
PARAM_VALUE 0 io->write 0
PARAM_VALUE 1 iter 4096-ptr_max
PARAM_VALUE 1 iter->count 0-18446744073709551614
PARAM_VALUE 2 ppos 4096-ptr_max
PARAM_VALUE 3 flags 1
DATA_SOURCE 1 iter $1
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 iter->iov_offset 0-u64max[c]
USER_DATA 2 *ppos s64min-(-2),0-s64max
USER_PTR 2 ppos
LOCK2 &iocb->ki_filp->f_inode->i_rwsem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct inode)->i_rwsem