Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/usb/misc/usbtest.c halt_simple() -> simple_free_urb()

Type Parameter Key Value
PARAM_VALUE 0 urb 4096-ptr_max
PARAM_VALUE 0 *urb->dev->toggle 0-4294967295
BUF_SIZE 0 urb s32min-s32max
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 urb->num_mapped_sgs
NO_OVERFLOW_SIMPLE 0 urb->transfer_buffer_length
LOCK2 &dev->dev.mutex
LOCK2 &dev->lock
TYPE_LOCK (struct device)->mutex
TYPE_LOCK (struct usbtest_dev)->lock

drivers/usb/misc/usbtest.c test_ctrl_queue() -> simple_free_urb()

Type Parameter Key Value
PARAM_VALUE 0 urb 4096-ptr_max
NOCHECK_CALL
LOCK2 &dev->dev.mutex
LOCK2 &dev->lock
TYPE_LOCK (struct device)->mutex
TYPE_LOCK (struct usbtest_dev)->lock

drivers/usb/misc/usbtest.c test_queue() -> simple_free_urb()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 &context.lock
LOCK2 &dev->dev.mutex
LOCK2 &dev->lock
LOCK2 irq
TYPE_LOCK (struct device)->mutex
TYPE_LOCK (struct transfer_context)->lock
TYPE_LOCK (struct usbtest_dev)->lock

drivers/usb/misc/usbtest.c test_queue() -> simple_free_urb()

Type Parameter Key Value
PARAM_VALUE 0 urb 1-u64max
NOCHECK_CALL
LOCK2 &dev->dev.mutex
LOCK2 &dev->lock
TYPE_LOCK (struct device)->mutex
TYPE_LOCK (struct usbtest_dev)->lock

drivers/usb/misc/usbtest.c test_queue() -> simple_free_urb()

Type Parameter Key Value
PARAM_VALUE 0 urb 1-u64max
NOCHECK_CALL
LOCK2 &dev->dev.mutex
LOCK2 &dev->lock
TYPE_LOCK (struct device)->mutex
TYPE_LOCK (struct usbtest_dev)->lock

drivers/usb/misc/usbtest.c test_unaligned_bulk() -> simple_free_urb()

Type Parameter Key Value
PARAM_VALUE 0 urb 4096-ptr_max
PARAM_VALUE 0 urb->anchor 0
PARAM_VALUE 0 urb->anchor_list.next 4096-ptr_max
PARAM_VALUE 0 urb->anchor_list.next->next 4096-ptr_max
PARAM_VALUE 0 urb->anchor_list.prev 4096-ptr_max
PARAM_VALUE 0 urb->anchor_list.prev->next 4096-ptr_max
PARAM_VALUE 0 urb->anchor_list.prev->prev 4096-ptr_max
PARAM_VALUE 0 urb->complete 231024792312664064
PARAM_VALUE 0 urb->context 6991588988379762688
PARAM_VALUE 0 urb->dev->dev.kobj.release->timer->entry.pprev 4096-ptr_max
PARAM_VALUE 0 urb->ep 0,4096-ptr_max
PARAM_VALUE 0 urb->ep->urb_list.prev 4096-ptr_max
PARAM_VALUE 0 urb->ep->urb_list.prev->next 4096-ptr_max
PARAM_VALUE 0 urb->ep->urb_list.prev->next->next 4096-ptr_max
PARAM_VALUE 0 urb->error_count 0
PARAM_VALUE 0 urb->hcpriv 0,4096-ptr_max
PARAM_VALUE 0 urb->interval s32min-32768
PARAM_VALUE 0 urb->num_mapped_sgs 0-s32max
PARAM_VALUE 0 urb->num_sgs 0
PARAM_VALUE 0 urb->number_of_packets 0
PARAM_VALUE 0 urb->pipe 1-u32max
PARAM_VALUE 0 urb->sg 0
PARAM_VALUE 0 urb->sgt 0
PARAM_VALUE 0 urb->start_frame (-1)-0
PARAM_VALUE 0 urb->status (-4095)-0
PARAM_VALUE 0 urb->stream_id 0
PARAM_VALUE 0 urb->transfer_buffer->_refcount.counter s32min-s32max
PARAM_VALUE 0 urb->transfer_buffer->bDeviceProtocol 1
PARAM_VALUE 0 urb->transfer_buffer->bmAttributes 0-255
PARAM_VALUE 0 urb->transfer_buffer->memcg_data 0
PARAM_VALUE 0 urb->transfer_buffer->page_type 0-4294967295
PARAM_VALUE 0 urb->urb_list.next->next 4096-ptr_max
PARAM_VALUE 0 urb->urb_list.prev->next 4096-ptr_max
PARAM_VALUE 0 urb->urb_list.prev->prev 4096-ptr_max
BUF_SIZE 0 urb s32min-s32max
DATA_SOURCE 0 urb r usbtest_alloc_urb
BIT_INFO 0 urb->pipe 0x0,0x7fffffff
NOCHECK_CALL
USER_DATA 0 urb->transfer_buffer_length 0-u32max[u]
LOCK2 &dev->dev.mutex
LOCK2 &dev->lock
TYPE_LOCK (struct device)->mutex
TYPE_LOCK (struct usbtest_dev)->lock

drivers/usb/misc/usbtest.c toggle_sync_simple() -> simple_free_urb()

Type Parameter Key Value
PARAM_VALUE 0 urb 4096-ptr_max
PARAM_VALUE 0 urb->dev 4096-ptr_max
PARAM_VALUE 0 urb->pipe 1-s32max
PARAM_VALUE 0 *urb->dev->toggle 0-4294967295
BUF_SIZE 0 urb s32min-s32max
CAPPED_DATA 0 urb 1
DATA_SOURCE 0 urb r simple_alloc_urb
NOCHECK_CALL
NO_OVERFLOW_SIMPLE 0 urb->num_mapped_sgs
NO_OVERFLOW_SIMPLE 0 urb->transfer_buffer_length
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_free_urb()

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

drivers/usb/misc/usbtest.c usbtest_do_ioctl() -> simple_free_urb()

Type Parameter Key Value
PARAM_VALUE 0 urb 4096-ptr_max
PARAM_VALUE 0 urb->context 6991588988379762688
PARAM_VALUE 0 urb->dev 4096-ptr_max
PARAM_VALUE 0 urb->dev->dev.kobj.release->timer->entry.pprev 4096-ptr_max
PARAM_VALUE 0 urb->ep 4096-ptr_max
PARAM_VALUE 0 urb->ep->urb_list.prev 4096-ptr_max
PARAM_VALUE 0 urb->ep->urb_list.prev->next 4096-ptr_max
PARAM_VALUE 0 urb->ep->urb_list.prev->next->next 4096-ptr_max
PARAM_VALUE 0 urb->hcpriv 0,4096-ptr_max
PARAM_VALUE 0 urb->interval s32min-32768
PARAM_VALUE 0 urb->num_mapped_sgs 0-s32max
PARAM_VALUE 0 urb->status (-4095)-0
PARAM_VALUE 0 urb->transfer_buffer->_refcount.counter s32min-s32max
PARAM_VALUE 0 urb->transfer_buffer->bDeviceProtocol 1
PARAM_VALUE 0 urb->transfer_buffer->bmAttributes 0-255
PARAM_VALUE 0 urb->transfer_buffer->memcg_data 0
PARAM_VALUE 0 urb->transfer_buffer->page_type 0-4294967295
PARAM_VALUE 0 urb->urb_list.next->next 4096-ptr_max
PARAM_VALUE 0 urb->urb_list.prev->next 4096-ptr_max
PARAM_VALUE 0 urb->urb_list.prev->prev 4096-ptr_max
BUF_SIZE 0 urb s32min-s32max
DATA_SOURCE 0 urb r simple_alloc_urb
NOCHECK_CALL
USER_DATA 0 urb->transfer_buffer_length 0-u32max[u]
LOCK2 &dev->dev.mutex
LOCK2 &dev->lock
TYPE_LOCK (struct device)->mutex
TYPE_LOCK (struct usbtest_dev)->lock

drivers/usb/misc/usbtest.c usbtest_do_ioctl() -> simple_free_urb()

Type Parameter Key Value
PARAM_VALUE 0 urb 4096-ptr_max
PARAM_VALUE 0 urb->context 6991588988379762688
PARAM_VALUE 0 urb->dev 4096-ptr_max
PARAM_VALUE 0 urb->dev->dev.kobj.release->timer->entry.pprev 4096-ptr_max
PARAM_VALUE 0 urb->ep 4096-ptr_max
PARAM_VALUE 0 urb->ep->urb_list.prev 4096-ptr_max
PARAM_VALUE 0 urb->ep->urb_list.prev->next 4096-ptr_max
PARAM_VALUE 0 urb->ep->urb_list.prev->next->next 4096-ptr_max
PARAM_VALUE 0 urb->hcpriv 0,4096-ptr_max
PARAM_VALUE 0 urb->interval s32min-32768
PARAM_VALUE 0 urb->num_mapped_sgs 0-s32max
PARAM_VALUE 0 urb->status (-4095)-0
PARAM_VALUE 0 urb->transfer_buffer->_refcount.counter s32min-s32max
PARAM_VALUE 0 urb->transfer_buffer->bDeviceProtocol 1
PARAM_VALUE 0 urb->transfer_buffer->bmAttributes 0-255
PARAM_VALUE 0 urb->transfer_buffer->memcg_data 0
PARAM_VALUE 0 urb->transfer_buffer->page_type 0-4294967295
PARAM_VALUE 0 urb->urb_list.next->next 4096-ptr_max
PARAM_VALUE 0 urb->urb_list.prev->next 4096-ptr_max
PARAM_VALUE 0 urb->urb_list.prev->prev 4096-ptr_max
BUF_SIZE 0 urb s32min-s32max
DATA_SOURCE 0 urb r simple_alloc_urb
NOCHECK_CALL
USER_DATA 0 urb->transfer_buffer_length 0-u32max[u]
LOCK2 &dev->dev.mutex
LOCK2 &dev->lock
TYPE_LOCK (struct device)->mutex
TYPE_LOCK (struct usbtest_dev)->lock

drivers/usb/misc/usbtest.c usbtest_do_ioctl() -> simple_free_urb()

Type Parameter Key Value
PARAM_VALUE 0 urb 4096-ptr_max
PARAM_VALUE 0 urb->context 6991588988379762688
PARAM_VALUE 0 urb->dev 4096-ptr_max
PARAM_VALUE 0 urb->dev->dev.kobj.release->timer->entry.pprev 4096-ptr_max
PARAM_VALUE 0 urb->ep 4096-ptr_max
PARAM_VALUE 0 urb->ep->urb_list.prev 4096-ptr_max
PARAM_VALUE 0 urb->ep->urb_list.prev->next 4096-ptr_max
PARAM_VALUE 0 urb->ep->urb_list.prev->next->next 4096-ptr_max
PARAM_VALUE 0 urb->hcpriv 0,4096-ptr_max
PARAM_VALUE 0 urb->interval s32min-32768
PARAM_VALUE 0 urb->num_mapped_sgs 0-s32max
PARAM_VALUE 0 urb->status (-4095)-0
PARAM_VALUE 0 urb->transfer_buffer->_refcount.counter s32min-s32max
PARAM_VALUE 0 urb->transfer_buffer->bDeviceProtocol 1
PARAM_VALUE 0 urb->transfer_buffer->bmAttributes 0-255
PARAM_VALUE 0 urb->transfer_buffer->memcg_data 0
PARAM_VALUE 0 urb->transfer_buffer->page_type 0-4294967295
PARAM_VALUE 0 urb->urb_list.next->next 4096-ptr_max
PARAM_VALUE 0 urb->urb_list.prev->next 4096-ptr_max
PARAM_VALUE 0 urb->urb_list.prev->prev 4096-ptr_max
BUF_SIZE 0 urb s32min-s32max
DATA_SOURCE 0 urb r simple_alloc_urb
NOCHECK_CALL
USER_DATA 0 urb->transfer_buffer_length 0-u32max[u]
LOCK2 &dev->dev.mutex
LOCK2 &dev->lock
TYPE_LOCK (struct device)->mutex
TYPE_LOCK (struct usbtest_dev)->lock

drivers/usb/misc/usbtest.c usbtest_do_ioctl() -> simple_free_urb()

Type Parameter Key Value
PARAM_VALUE 0 urb 4096-ptr_max
PARAM_VALUE 0 urb->context 6991588988379762688
PARAM_VALUE 0 urb->dev 4096-ptr_max
PARAM_VALUE 0 urb->dev->dev.kobj.release->timer->entry.pprev 4096-ptr_max
PARAM_VALUE 0 urb->ep 4096-ptr_max
PARAM_VALUE 0 urb->ep->urb_list.prev 4096-ptr_max
PARAM_VALUE 0 urb->ep->urb_list.prev->next 4096-ptr_max
PARAM_VALUE 0 urb->ep->urb_list.prev->next->next 4096-ptr_max
PARAM_VALUE 0 urb->hcpriv 0,4096-ptr_max
PARAM_VALUE 0 urb->interval s32min-32768
PARAM_VALUE 0 urb->num_mapped_sgs 0-s32max
PARAM_VALUE 0 urb->status (-4095)-0
PARAM_VALUE 0 urb->transfer_buffer->_refcount.counter s32min-s32max
PARAM_VALUE 0 urb->transfer_buffer->bDeviceProtocol 1
PARAM_VALUE 0 urb->transfer_buffer->bmAttributes 0-255
PARAM_VALUE 0 urb->transfer_buffer->memcg_data 0
PARAM_VALUE 0 urb->transfer_buffer->page_type 0-4294967295
PARAM_VALUE 0 urb->urb_list.next->next 4096-ptr_max
PARAM_VALUE 0 urb->urb_list.prev->next 4096-ptr_max
PARAM_VALUE 0 urb->urb_list.prev->prev 4096-ptr_max
BUF_SIZE 0 urb s32min-s32max
DATA_SOURCE 0 urb r simple_alloc_urb
NOCHECK_CALL
USER_DATA 0 urb->transfer_buffer_length 0-u32max[u]
LOCK2 &dev->dev.mutex
LOCK2 &dev->lock
TYPE_LOCK (struct device)->mutex
TYPE_LOCK (struct usbtest_dev)->lock

drivers/usb/misc/usbtest.c usbtest_do_ioctl() -> simple_free_urb()

Type Parameter Key Value
PARAM_VALUE 0 urb 4096-ptr_max
PARAM_VALUE 0 urb->context 6991588988379762688
PARAM_VALUE 0 urb->dev 4096-ptr_max
PARAM_VALUE 0 urb->dev->dev.kobj.release->timer->entry.pprev 4096-ptr_max
PARAM_VALUE 0 urb->ep 4096-ptr_max
PARAM_VALUE 0 urb->ep->urb_list.prev 4096-ptr_max
PARAM_VALUE 0 urb->ep->urb_list.prev->next 4096-ptr_max
PARAM_VALUE 0 urb->ep->urb_list.prev->next->next 4096-ptr_max
PARAM_VALUE 0 urb->hcpriv 0,4096-ptr_max
PARAM_VALUE 0 urb->interval s32min-32768
PARAM_VALUE 0 urb->num_mapped_sgs 0-s32max
PARAM_VALUE 0 urb->status (-4095)-0
PARAM_VALUE 0 urb->transfer_buffer->_refcount.counter s32min-s32max
PARAM_VALUE 0 urb->transfer_buffer->bDeviceProtocol 1
PARAM_VALUE 0 urb->transfer_buffer->bmAttributes 0-255
PARAM_VALUE 0 urb->transfer_buffer->memcg_data 0
PARAM_VALUE 0 urb->transfer_buffer->page_type 0-4294967295
PARAM_VALUE 0 urb->urb_list.next->next 4096-ptr_max
PARAM_VALUE 0 urb->urb_list.prev->next 4096-ptr_max
PARAM_VALUE 0 urb->urb_list.prev->prev 4096-ptr_max
BUF_SIZE 0 urb s32min-s32max
DATA_SOURCE 0 urb r simple_alloc_urb
NOCHECK_CALL
USER_DATA 0 urb->transfer_buffer_length 0-u32max[u]
LOCK2 &dev->dev.mutex
LOCK2 &dev->lock
TYPE_LOCK (struct device)->mutex
TYPE_LOCK (struct usbtest_dev)->lock

drivers/usb/misc/usbtest.c usbtest_do_ioctl() -> simple_free_urb()

Type Parameter Key Value
PARAM_VALUE 0 urb 4096-ptr_max
PARAM_VALUE 0 urb->context 6991588988379762688
PARAM_VALUE 0 urb->dev 4096-ptr_max
PARAM_VALUE 0 urb->dev->dev.kobj.release->timer->entry.pprev 4096-ptr_max
PARAM_VALUE 0 urb->ep 4096-ptr_max
PARAM_VALUE 0 urb->ep->urb_list.prev 4096-ptr_max
PARAM_VALUE 0 urb->ep->urb_list.prev->next 4096-ptr_max
PARAM_VALUE 0 urb->ep->urb_list.prev->next->next 4096-ptr_max
PARAM_VALUE 0 urb->hcpriv 0,4096-ptr_max
PARAM_VALUE 0 urb->interval s32min-32768
PARAM_VALUE 0 urb->num_mapped_sgs 0-s32max
PARAM_VALUE 0 urb->status (-4095)-0
PARAM_VALUE 0 urb->transfer_buffer->_refcount.counter s32min-s32max
PARAM_VALUE 0 urb->transfer_buffer->bDeviceProtocol 1
PARAM_VALUE 0 urb->transfer_buffer->bmAttributes 0-255
PARAM_VALUE 0 urb->transfer_buffer->memcg_data 0
PARAM_VALUE 0 urb->transfer_buffer->page_type 0-4294967295
PARAM_VALUE 0 urb->urb_list.next->next 4096-ptr_max
PARAM_VALUE 0 urb->urb_list.prev->next 4096-ptr_max
PARAM_VALUE 0 urb->urb_list.prev->prev 4096-ptr_max
BUF_SIZE 0 urb s32min-s32max
DATA_SOURCE 0 urb r simple_alloc_urb
NOCHECK_CALL
USER_DATA 0 urb->transfer_buffer_length 0-u32max[u]
LOCK2 &dev->dev.mutex
LOCK2 &dev->lock
TYPE_LOCK (struct device)->mutex
TYPE_LOCK (struct usbtest_dev)->lock