Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/usb/misc/usbtest.c simple_io() -> simple_check_buf()

Type Parameter Key Value
PARAM_VALUE 0 tdev 4096-ptr_max
PARAM_VALUE 1 urb 4096-ptr_max
PARAM_VALUE 1 urb->actual_length 0-s32max
PARAM_VALUE 1 urb->complete 1-u64max
PARAM_VALUE 1 urb->context 6991588988379762688
PARAM_VALUE 1 urb->dev 4096-ptr_max
PARAM_VALUE 1 urb->ep 4096-ptr_max
PARAM_VALUE 1 urb->ep->urb_list.prev 4096-ptr_max
PARAM_VALUE 1 urb->ep->urb_list.prev->next 4096-ptr_max
PARAM_VALUE 1 urb->ep->urb_list.prev->next->next 4096-ptr_max
PARAM_VALUE 1 urb->hcpriv 0,4096-ptr_max
PARAM_VALUE 1 urb->interval s32min-32768
PARAM_VALUE 1 urb->num_mapped_sgs 0-s32max
PARAM_VALUE 1 urb->pipe 128-u32max
PARAM_VALUE 1 urb->status (-4095)-(-3),(-1)-0
PARAM_VALUE 1 urb->transfer_buffer->bDeviceProtocol 1
PARAM_VALUE 1 urb->transfer_buffer->bmAttributes 0-255
PARAM_VALUE 1 urb->transfer_buffer_length 0-s32max
PARAM_VALUE 1 urb->urb_list.prev->next 4096-ptr_max
PARAM_VALUE 1 *urb->dev->toggle 0-4294967295
BUF_SIZE 0 tdev s32min-(-2),1-s32max
BUF_SIZE 0 tdev s32min-(-2),1-s32max
BUF_SIZE 1 urb->context 96
CAPPED_DATA 1 urb 1
CAPPED_DATA 1 urb->transfer_buffer_length 1
DATA_SOURCE 0 tdev $0
DATA_SOURCE 1 urb $1
STR_LEN 0 tdev (-1),5-6,19
STR_LEN 0 tdev (-1),5-6,19
BIT_INFO 1 urb->pipe 0x80,0xffffffff
NOSPEC 1 urb->transfer_buffer_length
USER_DATA 1 urb->transfer_buffer_length 0-s32max[c]
NO_OVERFLOW_SIMPLE 1 urb->num_mapped_sgs
UNITS 0 tdev unit_byte
LOCK2 &dev->dev.mutex
LOCK2 &dev->lock
TYPE_LOCK (struct device)->mutex
TYPE_LOCK (struct usbtest_dev)->lock

drivers/usb/misc/usbtest.c unlink1() -> simple_check_buf()

Type Parameter Key Value
PARAM_VALUE 0 tdev 4096-ptr_max
PARAM_VALUE 1 urb 4096-ptr_max
PARAM_VALUE 1 urb->actual_length 0-s32max
PARAM_VALUE 1 urb->complete 8566692445534134272
PARAM_VALUE 1 urb->context 303735522022158336
PARAM_VALUE 1 urb->dev 4096-ptr_max
PARAM_VALUE 1 urb->dev->dev.kobj.release->timer->entry.pprev 4096-ptr_max
PARAM_VALUE 1 urb->dev->dev.kobj.release.work.entry.next->prev 4096-ptr_max
PARAM_VALUE 1 urb->dev->state 4-u32max
PARAM_VALUE 1 urb->ep 4096-ptr_max
PARAM_VALUE 1 urb->ep->urb_list.prev 4096-ptr_max
PARAM_VALUE 1 urb->ep->urb_list.prev->next 4096-ptr_max
PARAM_VALUE 1 urb->ep->urb_list.prev->next->next 4096-ptr_max
PARAM_VALUE 1 urb->hcpriv 0,4096-ptr_max
PARAM_VALUE 1 urb->interval s32min-32768
PARAM_VALUE 1 urb->num_mapped_sgs 0-s32max
PARAM_VALUE 1 urb->pipe 128-u32max
PARAM_VALUE 1 urb->status (-4095)-0
PARAM_VALUE 1 urb->transfer_buffer->bDeviceProtocol 1
PARAM_VALUE 1 urb->transfer_buffer->bmAttributes 0-255
PARAM_VALUE 1 urb->transfer_buffer_length 0-s32max
PARAM_VALUE 1 urb->urb_list.prev->next 4096-ptr_max
BUF_SIZE 0 tdev s32min-(-2),1-s32max
BUF_SIZE 0 tdev s32min-(-2),1-s32max
BUF_SIZE 1 urb s32min-s32max
BUF_SIZE 1 urb->context 96
CAPPED_DATA 1 urb 1
CAPPED_DATA 1 urb->actual_length 1
CAPPED_DATA 1 urb->transfer_buffer_length 1
DATA_SOURCE 0 tdev $0
DATA_SOURCE 1 urb r simple_alloc_urb
BIT_INFO 1 urb->pipe 0x80,0xffffffff
NOSPEC 1 urb->transfer_buffer_length
USER_DATA 1 urb->transfer_buffer_length 1-s32max[c]
NO_OVERFLOW_SIMPLE 1 urb->num_mapped_sgs
UNITS 0 tdev unit_byte
LOCK2 &dev->dev.mutex
LOCK2 &dev->lock
TYPE_LOCK (struct device)->mutex
TYPE_LOCK (struct usbtest_dev)->lock