Defined in 2 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/usb/misc/cypress_cy7c63.c port0_show() -> read_port()

Type Parameter Key Value
PARAM_VALUE 1 attr 7402530397989249024
PARAM_VALUE 1 attr->attr 4501920323693785088
PARAM_VALUE 1 attr->show 1-u64max
PARAM_VALUE 2 buf 1-u64max
PARAM_VALUE 3 port_num 0
PARAM_VALUE 4 read_id 0
CAPPED_DATA 2 buf 1
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 attr $1
DATA_SOURCE 2 buf $2
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

drivers/usb/misc/cypress_cy7c63.c port1_show() -> read_port()

Type Parameter Key Value
PARAM_VALUE 1 attr 5250544502004584448
PARAM_VALUE 1 attr->attr 6315090777334652928
PARAM_VALUE 1 attr->show 1-u64max
PARAM_VALUE 2 buf 1-u64max
PARAM_VALUE 3 port_num 1
PARAM_VALUE 4 read_id 2
CAPPED_DATA 2 buf 1
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 attr $1
DATA_SOURCE 2 buf $2
RX_PATH
TASK_NOT_RUNNING
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

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

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