Defined in 2 files as a function:

Referenced in 2 files:

Smatch caller information:

fs/read_write.c __kernel_read() -> add_rchar()

Type Parameter Key Value
PARAM_VALUE 1 amt 1-s64max
FUZZY_MAX 1 amt 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/read_write.c do_preadv() -> add_rchar()

Type Parameter Key Value
PARAM_VALUE 1 amt 1-s64max
BUF_SIZE 1 amt (-1),16-16384
DATA_SOURCE 1 amt r vfs_readv
NOCHECK_CALL

fs/read_write.c do_readv() -> add_rchar()

Type Parameter Key Value
PARAM_VALUE 1 amt 1-s64max
BUF_SIZE 1 amt (-1),16-16384
DATA_SOURCE 1 amt r vfs_readv
NOCHECK_CALL

fs/read_write.c do_sendfile() -> add_rchar()

Type Parameter Key Value
PARAM_VALUE 1 amt 1-s64max
NOCHECK_CALL

fs/read_write.c vfs_copy_file_range() -> add_rchar()

Type Parameter Key Value
PARAM_VALUE 1 amt 1-s64max
RX_PATH
NOCHECK_CALL
HALF_LOCKED2 &inode_out->i_rwsem
HALF_LOCKED2 &pool->lock

fs/read_write.c vfs_read() -> add_rchar()

Type Parameter Key Value
PARAM_VALUE 1 amt 1-s64max
NOCHECK_CALL

fs/btrfs/ioctl.c btrfs_ioctl_encoded_read() -> add_rchar()

Type Parameter Key Value
PARAM_VALUE 1 amt 1-s64max
CAPPED_DATA 1 amt 1
CAPPED_DATA 1 amt 1
CAPABLE 0 21
NOSPEC 1 amt
NOCHECK_CALL
USER_DATA 1 amt 1-1000000000[c]

fs/btrfs/ioctl.c btrfs_uring_encoded_read() -> add_rchar()

Type Parameter Key Value
PARAM_VALUE 1 amt 1-s32max
CAPABLE 0 21
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &ctx->uring_lock

fs/btrfs/ioctl.c btrfs_uring_read_finished() -> add_rchar()

Type Parameter Key Value
CAPPED_DATA 1 amt 1
CAPPED_DATA 1 amt 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
UNITS 1 amt unit_byte
HALF_LOCKED2 &ctx->uring_lock
HALF_LOCKED2 _T->lock