Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

fs/cachefiles/io.c __cachefiles_write() -> cachefiles_write_complete()

Type Parameter Key Value
PARAM_VALUE 0 iocb 4096-ptr_max
PARAM_VALUE 0 iocb->ki_filp 4096-ptr_max
PARAM_VALUE 0 iocb->ki_flags 393216
PARAM_VALUE 1 ret s64min-(-530),(-528)-(-517),(-515),(-511)-s64max
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 iocb->ki_pos s64min-(-2),0-s64max[c]

fs/netfs/write_collect.c netfs_write_collection() -> (struct kiocb)->ki_complete()

Type Parameter Key Value
PARAM_VALUE 0 iocb 4096-ptr_max
PARAM_VALUE 0 iocb->ki_complete 1-u64max
CAPPED_DATA 1 ret 1
CONTAINER 0 *(-16+0) $(-1)
BIT_INFO 1 ret 0x0,0x7fffffffffffffff
NOSPEC 0 iocb->ki_pos
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 iocb->ki_flags 0-s32max[c][u]
USER_DATA 0 iocb->ki_ioprio 0-u16max
USER_DATA 0 iocb->ki_pos 0-13442450941[c]
USER_DATA 1 ret 1-s32max[c]

drivers/usb/gadget/legacy/inode.c ep_aio_complete() -> (struct kiocb)->ki_complete()

Type Parameter Key Value
PARAM_VALUE 0 iocb 4096-ptr_max
PARAM_VALUE 0 iocb->private 0
PARAM_VALUE 1 ret s32min-4294967295
BUF_SIZE 0 iocb (-1),96
BUF_SIZE 0 iocb (-1),96
CONTAINER 0 -16+0 $(-1)
NOSPEC 1 ret
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 1 ret 2-4294967295[c]
USER_DATA 1 ret 1-64
LOCK2 &epdata->dev->lock
HALF_LOCKED2 &cdev->lock
HALF_LOCKED2 &pdev->lock
HALF_LOCKED2 &priv_dev->lock
HALF_LOCKED2 &udc->lock
HALF_LOCKED2 cdev_flags
HALF_LOCKED2 flags
TYPE_LOCK (struct dev_data)->lock

drivers/usb/gadget/legacy/inode.c ep_user_copy_worker() -> (struct kiocb)->ki_complete()

Type Parameter Key Value
PARAM_VALUE 0 iocb 4096-ptr_max
PARAM_VALUE 1 ret s64min-(-1),1-s64max
CONTAINER 0 -16+0 $(-1)
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

fs/aio.c aio_rw_done() -> (struct kiocb)->ki_complete()

Type Parameter Key Value
PARAM_VALUE 0 iocb 4096-ptr_max
PARAM_VALUE 0 iocb->ki_complete 683869007495086080
PARAM_VALUE 0 iocb->ki_filp 4096-ptr_max
PARAM_VALUE 0 iocb->ki_filp->f_op 4096-ptr_max
PARAM_VALUE 0 iocb->ki_flags 0,2-s32max
PARAM_VALUE 0 iocb->ki_pos 0-1000000000
PARAM_VALUE 0 iocb->ki_write_stream 0
PARAM_VALUE 0 iocb->private 0
PARAM_VALUE 1 ret s64min-(-530),(-528)-(-517),(-515),(-511)-s64max
DATA_SOURCE 0 iocb $0
DATA_SOURCE 1 ret $1 [m]
CONTAINER 0 -16+0 $(-1)
NOCHECK_CALL
USER_DATA 0 iocb->ki_flags 0,2-s32max[c][u]
USER_DATA 0 iocb->ki_ioprio 0-u16max
USER_DATA 0 iocb->ki_pos 0-1000000000

fs/nfs/direct.c nfs_direct_complete() -> (struct kiocb)->ki_complete()

Type Parameter Key Value
PARAM_VALUE 0 iocb 4096-ptr_max
CONTAINER 0 *(-16+0) $(-1)
NOSPEC 0 iocb->ki_pos
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 iocb->ki_flags 0-s32max[c][u]
USER_DATA 0 iocb->ki_ioprio 0-u16max
USER_DATA 0 iocb->ki_pos 0-11442450941

fs/nfs/file.c nfs_swap_submit_read() -> (struct kiocb)->ki_complete()

Type Parameter Key Value
PARAM_VALUE 0 iocb->ki_filp 4096-ptr_max
PARAM_VALUE 1 ret s32min-(-530),(-528)-s32max
DATA_SOURCE 1 ret r nfs_file_direct_read
CONTAINER 0 -16+0 $(-1)
NOCHECK_CALL

fs/nfs/file.c nfs_swap_submit_write() -> (struct kiocb)->ki_complete()

Type Parameter Key Value
PARAM_VALUE 0 iocb->ki_filp 4096-ptr_max
PARAM_VALUE 1 ret s32min-(-530),(-528)-s32max
DATA_SOURCE 1 ret r nfs_file_direct_write
CONTAINER 0 -16+0 $(-1)
NOCHECK_CALL

io_uring/mock_file.c io_mock_rw_timer_expired() -> (struct kiocb)->ki_complete()

Type Parameter Key Value
PARAM_VALUE 0 iocb 4096-ptr_max
PARAM_VALUE 0 iocb->private 0
CONTAINER 0 -16+0 $(-1)
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 irq

fs/direct-io.c dio_complete() -> (struct kiocb)->ki_complete()

Type Parameter Key Value
PARAM_VALUE 0 iocb 4096-ptr_max
PARAM_VALUE 0 iocb->ki_filp->f_inode->i_data.host->i_sb->s_export_op->encode_fh 0,2,1398972869330624512,1616549510479982592,2037984473558433792,2776440803454029824,3228746867770966016,3502492669594062848,3526768263295340544,3559173554394271744,5000850239487131648,5583386343686406144,5817357685191483392-s64max
PARAM_VALUE 0 iocb->ki_filp->f_inode->i_data.host->i_sb->s_export_op->fh_to_dentry 0,8684,447817974243774464,687732489194512384,742201802719268864,868497899885588480,1471448175530500096,2021658383390310400,2445877819203563520,2512819722689847296,2649270699546726400,2761259683714371584,2893332316235677696-s64max
PARAM_VALUE 0 iocb->ki_filp->f_inode->i_data.host->i_sb->s_export_op->fh_to_parent 0,5297,148606482432692224,436469935444291584,467281172929331200,529780027764285440,1092893949038768128,1556959531105513472,1608953577475584000,1649536479961075712,2404761408063094784,2970908329832960000,3511613614414655488-s64max
PARAM_VALUE 0 iocb->ki_filp->f_inode->i_data.host->i_sb->s_export_op->get_parent 0,8931,264940071972966400,291591359766798336,565128213429456896,893189740598853632,1241177127089143808,1474696885321834496,1812477326828269568,1893665921928286208,2210088671756947456,2437012291923775488,2483979068402987008-s64max
PARAM_VALUE 0 iocb->ki_filp->f_inode->i_mapping->host->i_sb->s_export_op->fh_to_parent 0,4672,148606482432692224,436469935444291584,457356038048772096,467281172929331200,529780027764285440,1092893949038768128,1556959531105513472,1608953577475584000,1649536479961075712,2404761408063094784,2970908329832960000-s64max
PARAM_VALUE 0 iocb->ki_filp->f_inode->i_mapping->host->i_sb->s_export_op->get_parent 0,8931,264940071972966400,291591359766798336,565128213429456896,893189740598853632,1241177127089143808,1474696885321834496,1812477326828269568,1893665921928286208,2210088671756947456,2437012291923775488,2483979068402987008-s64max
PARAM_VALUE 0 iocb->ki_filp->f_inode->i_sb->s_cop->inode_info_offs 1632,1720,1808,2632,2648
PARAM_VALUE 0 iocb->ki_filp->f_inode->i_sb->s_export_op->fh_to_parent 0,5297,148606482432692224,436469935444291584,467281172929331200,529780027764285440,1092893949038768128,1556959531105513472,1608953577475584000,1649536479961075712,2404761408063094784,2970908329832960000,3511613614414655488-s64max
PARAM_VALUE 0 iocb->ki_filp->f_inode->i_sb->s_export_op->get_parent 0,8931,264940071972966400,291591359766798336,565128213429456896,893189740598853632,1241177127089143808,1474696885321834496,1812477326828269568,1893665921928286208,2210088671756947456,2437012291923775488,2483979068402987008-s64max
PARAM_VALUE 0 iocb->ki_filp->f_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 iocb->ki_filp->f_mapping->i_mmap_rwsem.first_waiter->type 0-1
BUF_SIZE 1 ret (-1)-s32max
DATA_SOURCE 1 ret $1 [m]
CONTAINER 0 *(-16+0) $(-1)
NOSPEC 0 iocb->ki_pos
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 iocb->ki_flags 0-s32max[c][u]
USER_DATA 0 iocb->ki_ioprio 0-u16max
USER_DATA 0 iocb->ki_pos s64min-(-2),0-s64max
USER_DATA 1 ret s64min-s64max
NO_OVERFLOW_SIMPLE 1 ret

fs/smb/client/file.c cifs_swap_submit_read() -> (struct kiocb)->ki_complete()

Type Parameter Key Value
PARAM_VALUE 1 ret s32min-(-530),(-528)-s32max
DATA_SOURCE 1 ret r netfs_unbuffered_read_iter_locked
CONTAINER 0 -16+0 $(-1)
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 1 ret

fs/smb/client/file.c cifs_swap_submit_write() -> (struct kiocb)->ki_complete()

Type Parameter Key Value
PARAM_VALUE 0 iocb->ki_filp 4096-ptr_max
PARAM_VALUE 1 ret (-4095)-(-530),(-528)-(-1)
DATA_SOURCE 1 ret r netfs_unbuffered_write_iter_locked
CONTAINER 0 -16+0 $(-1)
NOCHECK_CALL

fs/netfs/read_collect.c netfs_rreq_assess_dio() -> (struct kiocb)->ki_complete()

Type Parameter Key Value
PARAM_VALUE 0 iocb 4096-ptr_max
PARAM_VALUE 0 iocb->ki_complete 1-u64max
CONTAINER 0 *(-16+0) $(-1)
BIT_INFO 1 ret 0x0,0x7fffffffffffffff
NOSPEC 0 iocb->ki_pos
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 iocb->ki_flags 0-s32max[c][u]
USER_DATA 0 iocb->ki_ioprio 0-u16max
USER_DATA 0 iocb->ki_pos 0-9294967294

fs/netfs/read_collect.c netfs_rreq_assess_single() -> (struct kiocb)->ki_complete()

Type Parameter Key Value
PARAM_VALUE 0 iocb 4096-ptr_max
PARAM_VALUE 0 iocb->ki_complete 1-u64max
CONTAINER 0 *(-16+0) $(-1)
BIT_INFO 1 ret 0x0,0x7fffffffffffffff
NOSPEC 0 iocb->ki_pos
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 iocb->ki_flags 0-s32max[c][u]
USER_DATA 0 iocb->ki_ioprio 0-u16max
USER_DATA 0 iocb->ki_pos 0-9294967294

block/fops.c blkdev_bio_end_io() -> (struct kiocb)->ki_complete()

Type Parameter Key Value
PARAM_VALUE 0 iocb 4096-ptr_max
PARAM_VALUE 0 iocb->private 0
CONTAINER 0 *(-16+0) $(-1)
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

block/fops.c blkdev_bio_end_io_async() -> (struct kiocb)->ki_complete()

Type Parameter Key Value
PARAM_VALUE 0 iocb 4096-ptr_max
PARAM_VALUE 0 iocb->private 0
CONTAINER 0 -16+0 $(-1)
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/usb/gadget/function/f_fs.c ffs_user_copy_worker() -> (struct kiocb)->ki_complete()

Type Parameter Key Value
PARAM_VALUE 0 iocb 4096-ptr_max
CONTAINER 0 *(-16+0) $(-1)
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

fs/backing-file.c backing_aio_rw_complete() -> (struct kiocb)->ki_complete()

Type Parameter Key Value
PARAM_VALUE 0 iocb 4096-ptr_max
DATA_SOURCE 1 ret $1
CONTAINER 0 -16+0 $(-1)
NOSPEC 1 ret
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HOST_DATA 1 ret 2-4294967295[c]
USER_DATA 1 ret s64min-s64max
HALF_LOCKED2 &epdata->dev->lock

fs/netfs/direct_write.c netfs_unbuffered_write_done() -> (struct kiocb)->ki_complete()

Type Parameter Key Value
PARAM_VALUE 0 iocb 4096-ptr_max
PARAM_VALUE 0 iocb->ki_complete 1-u64max
CAPPED_DATA 1 ret 1
CONTAINER 0 *(-16+0) $(-1)
BIT_INFO 1 ret 0x0,0x7fffffffffffffff
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 1 ret (-4095)-(-1),1-1000000000[c]
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock

fs/iomap/direct-io.c iomap_dio_complete_work() -> (struct kiocb)->ki_complete()

Type Parameter Key Value
PARAM_VALUE 0 iocb 4096-ptr_max
CONTAINER 0 -16+0 $(-1)
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

fs/iomap/direct-io.c iomap_dio_simple_complete_work() -> (struct kiocb)->ki_complete()

Type Parameter Key Value
PARAM_VALUE 0 iocb 4096-ptr_max
PARAM_VALUE 0 iocb->private 0
PARAM_VALUE 1 ret s32min-4294967295
CONTAINER 0 -16+0 $(-1)
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

fs/iomap/direct-io.c iomap_dio_simple_end_io() -> (struct kiocb)->ki_complete()

Type Parameter Key Value
PARAM_VALUE 0 iocb 4096-ptr_max
PARAM_VALUE 0 iocb->private 0
PARAM_VALUE 1 ret 0-4294967295
CONTAINER 0 -16+0 $(-1)
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/ceph/file.c ceph_aio_complete() -> (struct kiocb)->ki_complete()

Type Parameter Key Value
PARAM_VALUE 0 iocb 4096-ptr_max
CONTAINER 0 *(-16+0) $(-1)
BIT_INFO 0 iocb->ki_flags 0x0,0xffffffff
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &inode->i_rwsem
HALF_LOCKED2 &pool->lock

fs/fuse/file.c fuse_aio_complete() -> (struct kiocb)->ki_complete()

Type Parameter Key Value
PARAM_VALUE 0 iocb 4096-ptr_max
PARAM_VALUE 0 iocb->ki_filp 4096-ptr_max
PARAM_VALUE 0 iocb->ki_filp->f_mapping->host->i_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 iocb->ki_filp->f_mapping->host->i_rwsem.first_waiter->type 0-1
PARAM_VALUE 0 iocb->ki_filp->f_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 iocb->ki_filp->f_mapping->i_mmap_rwsem.first_waiter->type 0-1
CONTAINER 0 *(-16+0) $(-1)
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 iocb->ki_flags 0-s32max[c][u]
USER_DATA 0 iocb->ki_ioprio 0-u16max
USER_DATA 0 iocb->ki_pos s64min-(-2),0-s64max
USER_DATA 1 ret s32min-(-1),1-s32max
HALF_LOCKED2 &pool->lock

fs/fuse/file.c fuse_aio_invalidate_worker() -> (struct kiocb)->ki_complete()

Type Parameter Key Value
PARAM_VALUE 0 iocb 4096-ptr_max
PARAM_VALUE 0 iocb->ki_filp 4096-ptr_max
PARAM_VALUE 0 iocb->ki_filp->f_mapping 4096-ptr_max
PARAM_VALUE 0 iocb->ki_filp->f_mapping->i_mmap_rwsem.first_waiter->handoff_set 0-1
PARAM_VALUE 0 iocb->ki_filp->f_mapping->i_mmap_rwsem.first_waiter->type 0-1
CONTAINER 0 *(-16+0) $(-1)
NOCHECK_CALL
HALF_LOCKED2 &pool->lock