Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 6 files:

Smatch caller information:

fs/netfs/write_collect.c netfs_collect_write_results() -> netfs_put_subrequest()

Type Parameter Key Value
PARAM_VALUE 0 subreq 4096-ptr_max
PARAM_VALUE 1 what 6,9
FUZZY_MAX 1 what 9
HARD_MAX 1 what 9
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/netfs/write_collect.c netfs_write_subrequest_terminated() -> netfs_put_subrequest()

Type Parameter Key Value
PARAM_VALUE 0 subreq 4096-ptr_max
PARAM_VALUE 0 subreq->error (-4095)-0
PARAM_VALUE 0 subreq->rreq 4096-ptr_max
PARAM_VALUE 0 subreq->rreq->buffer.next_head_slot 0-30
PARAM_VALUE 0 subreq->source 5-6
PARAM_VALUE 1 what 16
BUF_SIZE 0 subreq (-1),80,200
BUF_SIZE 0 subreq (-1),80,200
DATA_SOURCE 0 subreq $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 subreq->error (-4095)-(-1)

fs/netfs/read_retry.c netfs_retry_read_subrequests() -> netfs_put_subrequest()

Type Parameter Key Value
PARAM_VALUE 0 subreq 4096-ptr_max
PARAM_VALUE 0 subreq->rreq->buffer.next_head_slot 0-30
PARAM_VALUE 0 subreq->rreq->inode->i_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 subreq->rreq->inode->i_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 subreq->rreq->inode->i_sb->s_umount.first_waiter->handoff_set 0-1
PARAM_VALUE 0 subreq->rreq->inode->i_sb->s_umount.first_waiter->type 0-1
PARAM_VALUE 0 subreq->rreq->netfs_ops->issue_read 4096-ptr_max
PARAM_VALUE 1 what 9
CAPPED_DATA 0 &subreq->rreq_link 1
NOSPEC 0 subreq->rreq->buffer.iter.count
RX_PATH
NOCHECK_CALL
USER_DATA 0 subreq->rreq->buffer.iter.count 1-1000000000
USER_DATA 0 subreq->rreq->buffer.iter.iov_offset 0-u64max[c]
USER_DATA 0 subreq->rreq->direct_bv_count 1-488284[c][u]
USER_DATA 0 subreq->rreq->len 0-17592186040320
USER_DATA 0 subreq->rreq->start 0-18446744073709551614
USER_DATA 0 subreq->rreq->submitted 0-18446744073709551614
NO_OVERFLOW_SIMPLE 0 subreq->error
NO_OVERFLOW_SIMPLE 0 subreq->rreq->i_size
HALF_LOCKED2 &pool->lock

fs/netfs/write_retry.c netfs_retry_write_stream() -> netfs_put_subrequest()

Type Parameter Key Value
PARAM_VALUE 0 subreq 4096-ptr_max
PARAM_VALUE 0 subreq->rreq->buffer.next_head_slot 0-30
PARAM_VALUE 0 subreq->rreq->cache_resources.ops->end_operation 4096-ptr_max
PARAM_VALUE 0 subreq->rreq->cache_resources.ops->issue_write 4096-ptr_max
PARAM_VALUE 0 subreq->rreq->cache_resources.ops->prepare_read 4096-ptr_max
PARAM_VALUE 0 subreq->rreq->cache_resources.ops->prepare_write 4096-ptr_max
PARAM_VALUE 0 subreq->rreq->cache_resources.ops->prepare_write_subreq 4096-ptr_max
PARAM_VALUE 0 subreq->rreq->cache_resources.ops->query_occupancy 4096-ptr_max
PARAM_VALUE 0 subreq->rreq->cache_resources.ops->read 4096-ptr_max
PARAM_VALUE 0 subreq->rreq->cache_resources.ops->write 4096-ptr_max
PARAM_VALUE 1 what 9
CAPPED_DATA 0 &subreq->rreq_link 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

fs/netfs/objects.c netfs_clear_subrequests() -> netfs_put_subrequest()

Type Parameter Key Value
PARAM_VALUE 0 subreq 4096-ptr_max
PARAM_VALUE 1 what 7
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/netfs/read_collect.c netfs_collect_read_results() -> netfs_put_subrequest()

Type Parameter Key Value
PARAM_VALUE 0 subreq 4096-ptr_max
PARAM_VALUE 1 what 5,9
FUZZY_MAX 1 what 9
BIT_INFO 1 what 0x1,0xd
HARD_MAX 1 what 9
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/netfs/read_collect.c netfs_read_subreq_terminated() -> netfs_put_subrequest()

Type Parameter Key Value
PARAM_VALUE 0 subreq 4096-ptr_max
PARAM_VALUE 0 subreq->rreq 4096-ptr_max
PARAM_VALUE 0 subreq->rreq->buffer.next_head_slot 0-30
PARAM_VALUE 0 subreq->rreq->cache_resources.ops->end_operation 4096-ptr_max
PARAM_VALUE 0 subreq->rreq->cache_resources.ops->issue_write 4096-ptr_max
PARAM_VALUE 0 subreq->rreq->cache_resources.ops->prepare_read 4096-ptr_max
PARAM_VALUE 0 subreq->rreq->cache_resources.ops->prepare_write 4096-ptr_max
PARAM_VALUE 0 subreq->rreq->cache_resources.ops->prepare_write_subreq 4096-ptr_max
PARAM_VALUE 0 subreq->rreq->cache_resources.ops->query_occupancy 4096-ptr_max
PARAM_VALUE 0 subreq->rreq->cache_resources.ops->read 4096-ptr_max
PARAM_VALUE 0 subreq->rreq->cache_resources.ops->write 4096-ptr_max
PARAM_VALUE 0 subreq->rreq->inode->i_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 subreq->rreq->inode->i_mapping->i_mmap_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 subreq->rreq->inode->i_sb->s_umount.first_waiter->handoff_set 0-1
PARAM_VALUE 0 subreq->rreq->inode->i_sb->s_umount.first_waiter->type 0-1
PARAM_VALUE 0 subreq->rreq->netfs_ops->issue_read 4096-ptr_max
PARAM_VALUE 1 what 16
BUF_SIZE 0 subreq (-1),1-s32max
BUF_SIZE 0 subreq (-1),1-s32max
BUF_SIZE 0 subreq->error (-1)-s32max
DATA_SOURCE 0 subreq $0
NOSPEC 0 subreq->error
NOSPEC 0 subreq->io_iter.count
NOSPEC 0 subreq->len
NOSPEC 0 subreq->rreq->buffer.iter.count
NOSPEC 0 subreq->start
NOSPEC 0 subreq->transferred
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 subreq->error s16min-s16max[c]
USER_DATA 0 subreq->io_iter.count 0-u64max
USER_DATA 0 subreq->io_iter.iov_offset 0-u64max[c]
USER_DATA 0 subreq->len 0-9223372036854775806
USER_DATA 0 subreq->rreq->buffer.iter.count 1-1000000000
USER_DATA 0 subreq->rreq->buffer.iter.iov_offset 0-u64max[c]
USER_DATA 0 subreq->rreq->direct_bv_count 1-488284[c][u]
USER_DATA 0 subreq->rreq->len 0-17592186040320
USER_DATA 0 subreq->rreq->start 0-18446744073709551614
USER_DATA 0 subreq->rreq->submitted 0-18446744073709551614
USER_DATA 0 subreq->start 0-18446744073709551614
USER_DATA 0 subreq->transferred 0-9223372036854775806[c]
NO_OVERFLOW_SIMPLE 0 subreq->rreq->i_size
UNITS 0 subreq unit_byte

fs/netfs/direct_write.c netfs_unbuffered_write_collect() -> netfs_put_subrequest()

Type Parameter Key Value
PARAM_VALUE 0 subreq 4096-ptr_max
PARAM_VALUE 0 subreq->rreq 4096-ptr_max
PARAM_VALUE 0 subreq->rreq->buffer.next_head_slot 0-30
PARAM_VALUE 0 subreq->rreq->cache_resources.ops->end_operation 4096-ptr_max
PARAM_VALUE 0 subreq->rreq->cache_resources.ops->issue_write 4096-ptr_max
PARAM_VALUE 0 subreq->rreq->cache_resources.ops->prepare_read 4096-ptr_max
PARAM_VALUE 0 subreq->rreq->cache_resources.ops->prepare_write 4096-ptr_max
PARAM_VALUE 0 subreq->rreq->cache_resources.ops->prepare_write_subreq 4096-ptr_max
PARAM_VALUE 0 subreq->rreq->cache_resources.ops->query_occupancy 4096-ptr_max
PARAM_VALUE 0 subreq->rreq->cache_resources.ops->read 4096-ptr_max
PARAM_VALUE 0 subreq->rreq->cache_resources.ops->write 4096-ptr_max
PARAM_VALUE 0 subreq->rreq_link.next->prev 4096-ptr_max
PARAM_VALUE 0 subreq->rreq_link.prev->next 4096-ptr_max
PARAM_VALUE 1 what 9
CAPPED_DATA 0 subreq->transferred 1
DATA_SOURCE 0 subreq $2
NOSPEC 0 subreq->io_iter.iov_offset
RX_PATH
NOCHECK_CALL
USER_DATA 0 subreq->error (-4095)-(-1)
USER_DATA 0 subreq->io_iter.count 0-u64max
USER_DATA 0 subreq->io_iter.iov_offset 0-u64max[c]
USER_DATA 0 subreq->len 0-18446744073709551614[c]
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock