Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/usb/gadget/configfs.c gadget_config_name_configuration_store() -> usb_string_copy()

Type Parameter Key Value
PARAM_VALUE 0 s 1-u64max
PARAM_VALUE 0 *s 0
PARAM_VALUE 1 s_copy 4096-ptr_max
BUF_SIZE 0 s 4096
BUF_SIZE 0 s 4096
DATA_SOURCE 0 s $1
TERMINATED 0 s 1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &buffer->mutex
LOCK2 &frag->frag_sem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct configfs_buffer)->mutex
TYPE_LOCK (struct configfs_fragment)->frag_sem

drivers/usb/gadget/configfs.c gadget_language_manufacturer_store() -> usb_string_copy()

Type Parameter Key Value
PARAM_VALUE 0 s 1-u64max
PARAM_VALUE 0 *s 0
PARAM_VALUE 1 s_copy 4096-ptr_max
BUF_SIZE 0 s 4096
BUF_SIZE 0 s 4096
DATA_SOURCE 0 s $1
TERMINATED 0 s 1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &buffer->mutex
LOCK2 &frag->frag_sem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct configfs_buffer)->mutex
TYPE_LOCK (struct configfs_fragment)->frag_sem

drivers/usb/gadget/configfs.c gadget_language_product_store() -> usb_string_copy()

Type Parameter Key Value
PARAM_VALUE 0 s 1-u64max
PARAM_VALUE 0 *s 0
PARAM_VALUE 1 s_copy 4096-ptr_max
BUF_SIZE 0 s 4096
BUF_SIZE 0 s 4096
DATA_SOURCE 0 s $1
TERMINATED 0 s 1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &buffer->mutex
LOCK2 &frag->frag_sem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct configfs_buffer)->mutex
TYPE_LOCK (struct configfs_fragment)->frag_sem

drivers/usb/gadget/configfs.c gadget_language_serialnumber_store() -> usb_string_copy()

Type Parameter Key Value
PARAM_VALUE 0 s 1-u64max
PARAM_VALUE 0 *s 0
PARAM_VALUE 1 s_copy 4096-ptr_max
BUF_SIZE 0 s 4096
BUF_SIZE 0 s 4096
DATA_SOURCE 0 s $1
TERMINATED 0 s 1
RX_PATH
TASK_NOT_RUNNING
LOCK2 &buffer->mutex
LOCK2 &frag->frag_sem
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct configfs_buffer)->mutex
TYPE_LOCK (struct configfs_fragment)->frag_sem