Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/usb/core/devio.c proc_reapurb() -> free_async()

Type Parameter Key Value
PARAM_VALUE 0 as 4096-ptr_max
PARAM_VALUE 0 as->asynclist.next->prev 4096-ptr_max
PARAM_VALUE 0 as->asynclist.prev->next 4096-ptr_max
PARAM_VALUE 0 as->urb 4096-ptr_max
PARAM_VALUE 0 *as->userbuffer 0-255
CAPPED_DATA 0 as->urb->number_of_packets 1
DATA_SOURCE 0 as r reap_as
NOCHECK_CALL
LOCK2 &dev->dev.mutex
TYPE_LOCK (struct device)->mutex

drivers/usb/core/devio.c proc_reapurb_compat() -> free_async()

Type Parameter Key Value
PARAM_VALUE 0 as 4096-ptr_max
PARAM_VALUE 0 as->asynclist.next->prev 4096-ptr_max
PARAM_VALUE 0 as->asynclist.prev->next 4096-ptr_max
PARAM_VALUE 0 as->urb 4096-ptr_max
PARAM_VALUE 0 *as->userbuffer 0-255
CAPPED_DATA 0 as->urb->number_of_packets 1
DATA_SOURCE 0 as r reap_as
NOCHECK_CALL
LOCK2 &dev->dev.mutex
TYPE_LOCK (struct device)->mutex

drivers/usb/core/devio.c proc_reapurbnonblock() -> free_async()

Type Parameter Key Value
PARAM_VALUE 0 as 4096-ptr_max
PARAM_VALUE 0 as->asynclist.next 4096-ptr_max
PARAM_VALUE 0 as->asynclist.next->next 4096-ptr_max
PARAM_VALUE 0 as->asynclist.next->prev 4096-ptr_max
PARAM_VALUE 0 as->asynclist.prev 4096-ptr_max
PARAM_VALUE 0 as->asynclist.prev->next 4096-ptr_max
PARAM_VALUE 0 as->asynclist.prev->prev 4096-ptr_max
PARAM_VALUE 0 as->urb 4096-ptr_max
PARAM_VALUE 0 *as->userbuffer 0-255
CAPPED_DATA 0 as->urb->number_of_packets 1
DATA_SOURCE 0 as r async_getcompleted
NOCHECK_CALL
LOCK2 &dev->dev.mutex
TYPE_LOCK (struct device)->mutex

drivers/usb/core/devio.c proc_reapurbnonblock_compat() -> free_async()

Type Parameter Key Value
PARAM_VALUE 0 as 4096-ptr_max
PARAM_VALUE 0 as->asynclist.next 4096-ptr_max
PARAM_VALUE 0 as->asynclist.next->next 4096-ptr_max
PARAM_VALUE 0 as->asynclist.next->prev 4096-ptr_max
PARAM_VALUE 0 as->asynclist.prev 4096-ptr_max
PARAM_VALUE 0 as->asynclist.prev->next 4096-ptr_max
PARAM_VALUE 0 as->asynclist.prev->prev 4096-ptr_max
PARAM_VALUE 0 as->urb 4096-ptr_max
PARAM_VALUE 0 *as->userbuffer 0-255
CAPPED_DATA 0 as->urb->number_of_packets 1
DATA_SOURCE 0 as r async_getcompleted
NOCHECK_CALL
LOCK2 &dev->dev.mutex
TYPE_LOCK (struct device)->mutex

drivers/usb/core/devio.c usbdev_release() -> free_async()

Type Parameter Key Value
PARAM_VALUE 0 as 4096-ptr_max
PARAM_VALUE 0 as->asynclist.next 4096-ptr_max
PARAM_VALUE 0 as->asynclist.next->next 4096-ptr_max
PARAM_VALUE 0 as->asynclist.next->prev 4096-ptr_max
PARAM_VALUE 0 as->asynclist.prev 4096-ptr_max
PARAM_VALUE 0 as->asynclist.prev->next 4096-ptr_max
PARAM_VALUE 0 as->asynclist.prev->prev 4096-ptr_max
DATA_SOURCE 0 as r async_getcompleted
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL