Defined in 2 files as a function:

Referenced in 2 files:

Smatch caller information:

fs/read_write.c vfs_read() -> (struct file_operations)->read()

Type Parameter Key Value
PARAM_VALUE 0 filp 4096-ptr_max
PARAM_VALUE 0 filp->f_op 4096-ptr_max
PARAM_VALUE 0 filp->f_op->read 1-u64max
PARAM_VALUE 2 count 0-1000000000,2147479552
PARAM_VALUE 3 *ppos 0-1000000000
BUF_SIZE 3 ppos (-1),8
BUF_SIZE 3 ppos (-1),8
CAPPED_DATA 1 userbuf 1
DATA_SOURCE 0 filp $0
DATA_SOURCE 1 userbuf $1
DATA_SOURCE 2 count $2 [m]
DATA_SOURCE 3 ppos $3
FUZZY_MAX 2 count 2147479552
CONTAINER 0 -24-80+0 $(-1)
BIT_INFO 0 filp->f_mode 0x20001,0xffffffff
USER_DATA 1 userbuf 0-u64max[c]
USER_DATA 2 count 0-1000000000
USER_DATA 3 *ppos 0-1000000000
USER_PTR 3 ppos

drivers/base/devcoredump.c devcd_data_read() -> (struct devcd_entry)->read()

Type Parameter Key Value
PARAM_VALUE 0 filp 1-u64max
PARAM_VALUE 2 count 1-4096
BUF_SIZE 3 ppos 1-s32max
CAPPED_DATA 2 count 1
CAPPED_DATA 2 count 1
DATA_SOURCE 0 filp $3
DATA_SOURCE 1 userbuf $4
DATA_SOURCE 2 count $5
CONTAINER 3 *(-1800+1616) $(-1)
CONTAINER 4 *(-1800+1624) $(-1)
PARAM_COMPARE 0 filp == $2
BIT_INFO 2 count 0x0,0x7fffffffffffffff
NOSPEC 1 userbuf
NOSPEC 1 userbuf
RX_PATH
TASK_NOT_RUNNING
USER_DATA 1 userbuf 0-4095
USER_DATA 2 count 1-4096[c]
BYTE_COUNT 0 ==filp2 8050
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex