Defined in 2 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/usb/misc/cypress_cy7c63.c port0_store() -> write_port()

Type Parameter Key Value
PARAM_VALUE 1 attr 7402530397989249024
PARAM_VALUE 1 attr->attr 4501920323693785088
PARAM_VALUE 1 attr->store 1-u64max
PARAM_VALUE 2 buf 4096-ptr_max
PARAM_VALUE 3 count 1-1000000000
PARAM_VALUE 4 port_num 0
PARAM_VALUE 5 write_id 0
CAPPED_DATA 3 count 1
CAPPED_DATA 3 count 1
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 attr $1
DATA_SOURCE 2 buf $2
DATA_SOURCE 3 count $3
NOSPEC 3 count
RX_PATH
TASK_NOT_RUNNING
ELEM_LAST 2 ==buf3 8052
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_store() -> write_port()

Type Parameter Key Value
PARAM_VALUE 1 attr 5250544502004584448
PARAM_VALUE 1 attr->attr 6315090777334652928
PARAM_VALUE 1 attr->store 1-u64max
PARAM_VALUE 2 buf 4096-ptr_max
PARAM_VALUE 3 count 1-1000000000
PARAM_VALUE 4 port_num 1
PARAM_VALUE 5 write_id 1
CAPPED_DATA 3 count 1
CAPPED_DATA 3 count 1
DATA_SOURCE 0 dev $0
DATA_SOURCE 1 attr $1
DATA_SOURCE 2 buf $2
DATA_SOURCE 3 count $3
NOSPEC 3 count
RX_PATH
TASK_NOT_RUNNING
ELEM_LAST 2 ==buf3 8052
LOCK2 &of->mutex
HALF_LOCKED2 &of->prealloc_mutex
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct kernfs_open_file)->mutex

fs/read_write.c vfs_write() -> (struct file_operations)->write()

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->write 1-u64max
PARAM_VALUE 2 buf 0-1000000000,2147479552
PARAM_VALUE 3 *count 0-1000000000
BUF_SIZE 3 count (-1),8
BUF_SIZE 3 count (-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 count $3
FUZZY_MAX 2 buf 2147479552
CONTAINER 0 -32-80+0 $(-1)
BIT_INFO 0 dev->f_mode 0x40002,0xffffffffffffffff
USER_DATA 1 attr 0-u64max[c]
USER_DATA 2 buf 0-1000000000
USER_DATA 3 *count 0-1000000000
USER_PTR 3 count