Defined in 1 files as a function:
Referenced in 1 files:
Smatch caller information:
drivers/hid/uhid.c __uhid_report_queue_and_wait() -> uhid_queue()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | uhid | 4096-ptr_max |
| PARAM_VALUE | 0 | uhid->report_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | uhid->report_lock.first_waiter | 0,4096-ptr_max |
| PARAM_VALUE | 0 | uhid->report_lock.first_waiter->list.prev->next | 5159360019465732096 |
| PARAM_VALUE | 0 | uhid->report_lock.osq.tail.counter | 0-s32max |
| PARAM_VALUE | 0 | uhid->report_lock.wait_lock.dep_map->name | 0-255 |
| PARAM_VALUE | 0 | uhid->report_lock.wait_lock.owner | (-1) |
| PARAM_VALUE | 0 | uhid->report_lock.wait_lock.owner_cpu | u32max |
| PARAM_VALUE | 0 | uhid->report_running | 1 |
| PARAM_VALUE | 0 | uhid->report_type | 10,14 |
| PARAM_VALUE | 0 | uhid->running | 1 |
| PARAM_VALUE | 1 | ev | 4096-ptr_max |
| PARAM_VALUE | 1 | ev->type | 9,13 |
| BUF_SIZE | 0 | uhid | s32min-(-2),1-s32max |
| BUF_SIZE | 0 | uhid | s32min-(-2),1-s32max |
| BUF_SIZE | 1 | ev | 4380 |
| DATA_SOURCE | 0 | uhid | $0 |
| DATA_SOURCE | 1 | ev | $1 |
| FUZZY_MAX | 0 | uhid->report_type | 14 |
| NOSPEC | 1 | ev->u.set_report.size | |
| HARD_MAX | 0 | uhid->report_type | 14 |
| HARD_MAX | 1 | ev->type | 13 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 1 | ev->u.get_report.rnum | 0-255 |
| USER_DATA | 1 | ev->u.set_report.rnum | 0-255 |
| USER_DATA | 1 | ev->u.set_report.size | 2-4096[c] |
| USER_PTR | 1 | ev->u.set_report.data | |
| LOCK2 | flags | ||
| LOCK2 | 0 | &uhid->qlock | |
| LOCK2 | 0 | &uhid->report_lock | |
| HALF_LOCKED2 | &hid->driver_input_lock | ||
| HALF_LOCKED2 | &hid->ll_open_lock | ||
| HALF_LOCKED2 | global &minors_rwsem | ||
| TYPE_LOCK | (struct uhid_device)->qlock | ||
| TYPE_LOCK | (struct uhid_device)->report_lock |
drivers/hid/uhid.c uhid_hid_output_raw() -> uhid_queue()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | ev | 4096-ptr_max |
| PARAM_VALUE | 1 | ev->type | 6 |
| PARAM_VALUE | 1 | ev->u.output.rtype | 0-1 |
| PARAM_VALUE | 1 | ev->u.output.size | 1-4096 |
| BUF_SIZE | 0 | uhid | s32min-(-2),1-s32max |
| BUF_SIZE | 0 | uhid | s32min-(-2),1-s32max |
| BUF_SIZE | 1 | ev | 4380 |
| CAPPED_DATA | 1 | ev->u.output.size | 1 |
| DATA_SOURCE | 1 | ev | r _kzalloc_noprof |
| NOSPEC | 1 | ev->u.output.size | |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 1 | ev->u.output.size | 2-4096[c] |
| USER_DATA | 1 | *ev->u.output.data | 0-255 |
| USER_PTR | 1 | ev->u.output.data | |
| LOCK2 | flags | ||
| LOCK2 | 0 | &uhid->qlock | |
| HALF_LOCKED2 | &hid->driver_input_lock | ||
| HALF_LOCKED2 | global &minors_rwsem | ||
| TYPE_LOCK | (struct uhid_device)->qlock |
drivers/hid/uhid.c uhid_hid_start() -> uhid_queue()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | ev | 4096-ptr_max |
| PARAM_VALUE | 1 | ev->type | 2 |
| BUF_SIZE | 0 | uhid | s32min-(-2),1-s32max |
| BUF_SIZE | 0 | uhid | s32min-(-2),1-s32max |
| BUF_SIZE | 1 | ev | 4380 |
| DATA_SOURCE | 1 | ev | r _kzalloc_noprof |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| LOCK2 | 0 | &uhid->qlock | |
| HALF_LOCKED2 | &hid->driver_input_lock | ||
| TYPE_LOCK | (struct uhid_device)->qlock |
drivers/hid/uhid.c uhid_queue_event() -> uhid_queue()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 1 | ev | 4096-ptr_max |
| PARAM_VALUE | 1 | ev->type | 3-5 |
| BUF_SIZE | 0 | uhid | s32min-(-2),1-s32max |
| BUF_SIZE | 0 | uhid | s32min-(-2),1-s32max |
| BUF_SIZE | 1 | ev | 4380 |
| DATA_SOURCE | 0 | uhid | $0 |
| DATA_SOURCE | 1 | ev | r _kzalloc_noprof |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | flags | ||
| LOCK2 | 0 | &uhid->qlock | |
| HALF_LOCKED2 | &hid->ll_open_lock | ||
| TYPE_LOCK | (struct uhid_device)->qlock |