Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/usb/misc/usbtest.c complicated_callback() -> check_guard_bytes()

Type Parameter Key Value
PARAM_VALUE 1 urb 4096-ptr_max
PARAM_VALUE 1 urb->anchor 0
PARAM_VALUE 1 urb->context 4096-ptr_max
PARAM_VALUE 1 urb->dev 4096-ptr_max
PARAM_VALUE 1 urb->dev->bus 4096-ptr_max
PARAM_VALUE 1 urb->error_count s32min-0
PARAM_VALUE 1 urb->hcpriv 0
PARAM_VALUE 1 urb->iso_frame_desc->actual_length 0-4294967295
PARAM_VALUE 1 urb->setup_dma 0
PARAM_VALUE 1 urb->setup_packet 0-255
PARAM_VALUE 1 urb->status 0
PARAM_VALUE 1 urb->transfer_buffer->_refcount.counter s32min-s32max
PARAM_VALUE 1 urb->transfer_buffer->memcg_data 0
PARAM_VALUE 1 urb->transfer_buffer->page_type 0-4294967295
PARAM_VALUE 1 urb->transfer_dma 0
BUF_SIZE 1 urb->context s32min-(-1),1-s32max
CAPPED_DATA 1 urb 1
CAPPED_DATA 1 urb->actual_length 1
CAPPED_DATA 1 urb->transfer_buffer_length 1
DATA_SOURCE 1 urb $0
FUZZY_MAX 1 urb->error_count 0
PARAM_COMPARE 1 urb->actual_length == $1->transfer_buffer_length
NOSPEC 1 urb->transfer_buffer_length
HARD_MAX 1 urb->error_count 0
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
HOST_DATA 1 urb->start_frame 0-s32max
USER_DATA 1 urb->actual_length 0-u32max[c][u]
USER_DATA 1 urb->transfer_buffer_length 1-s32max
NO_OVERFLOW_SIMPLE 1 urb->actual_length
NO_OVERFLOW_SIMPLE 1 urb->num_mapped_sgs
NO_OVERFLOW_SIMPLE 1 urb->setup_dma
NO_OVERFLOW_SIMPLE 1 urb->sg->length
NO_OVERFLOW_SIMPLE 1 urb->transfer_buffer
NO_OVERFLOW_SIMPLE 1 urb->transfer_dma
UNITS 0 tdev unit_byte
LOCK2 &ctx->lock
LOCK2 flags
HALF_LOCKED2 &pool->lock
TYPE_LOCK (struct transfer_context)->lock

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

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 303735522022158336,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-s32max
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
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->actual_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,0xffffffffffffffff
USER_DATA 1 urb->transfer_buffer_length 0-s32max[u]
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