Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 2 files:

Smatch caller information:

drivers/hid/hid-core.c hid_hw_output_report() -> __hid_hw_output_report()

Type Parameter Key Value
PARAM_VALUE 0 hdev->driver_input_lock.first_waiter->up 0-1
PARAM_VALUE 0 hdev->ll_driver->max_buffer_size 0,4096
PARAM_VALUE 0 hdev->ll_driver->output_report 0,413141862939832320,1442834317192245248,2221293637157601280,3717343193451302912,7818562613356847104
PARAM_VALUE 0 hdev->ll_driver->power 0,4096-ptr_max
PARAM_VALUE 0 hdev->ll_driver->request 0,5063944467320635392,5622718608058388480,7328449251628552192
PARAM_VALUE 0 hdev->ll_driver->start 0,4096-ptr_max
PARAM_VALUE 0 hdev->ll_driver->wait 0,4096-ptr_max
PARAM_VALUE 3 source 0
PARAM_VALUE 4 from_bpf 0
BUF_SIZE 0 hdev s32min-(-1),1-s32max
BUF_SIZE 0 hdev s32min-(-1),1-s32max
BUF_SIZE 0 hdev->bpf_rdesc (-1)-s32max
BUF_SIZE 0 hdev->devres_group_id s32min-(-1),1-s32max
BUF_SIZE 1 buf (-1)-s32max
BUF_SIZE 1 buf (-1)-s32max
DATA_SOURCE 0 hdev $0
DATA_SOURCE 1 buf $1
DATA_SOURCE 2 len $2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 2 len 3-64[c]
UNITS 0 hdev unit_byte
UNITS 2 len unit_byte
HALF_LOCKED2 &ctlr->output_mutex
HALF_LOCKED2 &data->lights_lock
HALF_LOCKED2 &dev->lock
HALF_LOCKED2 &haptic->manual_trigger_mutex
HALF_LOCKED2 &hidpp->send_mutex
HALF_LOCKED2 &ldev->lock
HALF_LOCKED2 &mcp->lock
HALF_LOCKED2 &priv->buffer_lock
HALF_LOCKED2 _T->lock
HALF_LOCKED2 0 &hdev->driver_input_lock

drivers/hid/hidraw.c hidraw_send_report() -> __hid_hw_output_report()

Type Parameter Key Value
PARAM_VALUE 0 hdev 4096-ptr_max
PARAM_VALUE 1 buf 1-ptr_max
PARAM_VALUE 2 len 2-16384
PARAM_VALUE 3 source 4096-18446744073709547520
PARAM_VALUE 4 from_bpf 0
BUF_SIZE 1 buf 2-16384
BUF_SIZE 1 buf 2-16384
CAPPED_DATA 2 len 1
CAPPED_DATA 2 len 1
DATA_SOURCE 1 buf r memdup_user
DATA_SOURCE 2 len $2
DATA_SOURCE 3 source $0
BIT_INFO 0 hdev->quirks 0x0,0xfffbffff
USER_DATA 1 *buf 0-255
USER_DATA 2 len 2-16384[c]
BYTE_COUNT 1 ==buf2 8050
USER_PTR 1 buf
LOCK2 global &minors_rwsem

drivers/hid/bpf/hid_bpf_dispatch.c hid_bpf_hw_output_report() -> (struct hid_ops)->hid_hw_output_report()

Type Parameter Key Value
PARAM_VALUE 1 buf 1-u64max
PARAM_VALUE 2 len 0-u32max
PARAM_VALUE 3 source 4096-18446744073709547520
PARAM_VALUE 4 from_bpf 1
BUF_SIZE 1 buf 0-s32max
BUF_SIZE 1 buf 0-s32max
CAPPED_DATA 2 len 1
CAPPED_DATA 2 len 1
DATA_SOURCE 1 buf r kmemdup_noprof
DATA_SOURCE 3 source $0