Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

drivers/hid/uhid.c uhid_char_write() -> uhid_dev_create2()

Type Parameter Key Value
PARAM_VALUE 0 uhid 4096-ptr_max
PARAM_VALUE 0 uhid->devlock.dep_map->name 0-255
PARAM_VALUE 0 uhid->devlock.first_waiter 0,4096-5159360019465732095,5159360019465732097-ptr_max
PARAM_VALUE 0 uhid->devlock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 uhid->devlock.osq.tail.counter 0-s32max
PARAM_VALUE 0 uhid->devlock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 uhid->devlock.wait_lock.owner (-1)
PARAM_VALUE 0 uhid->devlock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 uhid->input_buf.type 11
PARAM_VALUE 0 uhid->input_buf.u.create.rd_data 0-u32max
PARAM_VALUE 1 ev 4096-ptr_max
PARAM_VALUE 1 ev->type 11
PARAM_VALUE 1 ev->u.create.rd_data 0-u32max
BUF_SIZE 0 uhid s32min-(-2),1-s32max
BUF_SIZE 0 uhid s32min-(-2),1-s32max
CAPPED_DATA 0 &uhid->devlock 1
MEM_ZERO 0 &uhid->input_buf
MEM_ZERO 1 ev
USER_DATA 0 uhid->input_buf->u.create.name 0-255
USER_DATA 0 uhid->input_buf->u.create.phys 0-255
USER_DATA 0 uhid->input_buf->u.create.uniq 0-255
USER_DATA 0 uhid->input_buf.u.create.bus 0-u16max
USER_DATA 0 uhid->input_buf.u.create.country 0-u32max
USER_DATA 0 uhid->input_buf.u.create.product 0-u32max
USER_DATA 0 uhid->input_buf.u.create.rd_size 0-u16max
USER_DATA 0 uhid->input_buf.u.create.vendor 0-u32max
USER_DATA 0 uhid->input_buf.u.create.version 0-u32max
USER_DATA 0 uhid->input_buf.u.create2.bus 0-u16max
USER_DATA 0 uhid->input_buf.u.create2.country 0-u32max
USER_DATA 0 uhid->input_buf.u.create2.product 0-u32max
USER_DATA 0 uhid->input_buf.u.create2.rd_size 0-u16max
USER_DATA 0 uhid->input_buf.u.create2.vendor 0-u32max
USER_DATA 0 uhid->input_buf.u.create2.version 0-u32max
USER_DATA 0 uhid->input_buf.u.feature.id 0-u32max
USER_DATA 0 uhid->input_buf.u.feature.rnum 0-255
USER_DATA 0 uhid->input_buf.u.feature.rtype 0-255
USER_DATA 0 uhid->input_buf.u.feature_answer.err 0-u16max
USER_DATA 0 uhid->input_buf.u.feature_answer.id 0-u32max
USER_DATA 0 uhid->input_buf.u.feature_answer.size 0-u16max
USER_DATA 0 uhid->input_buf.u.get_report.id 0-u32max
USER_DATA 0 uhid->input_buf.u.get_report.rnum 0-255
USER_DATA 0 uhid->input_buf.u.get_report.rtype 0-255
USER_DATA 0 uhid->input_buf.u.get_report_reply.err 0-u16max
USER_DATA 0 uhid->input_buf.u.get_report_reply.id 0-u32max
USER_DATA 0 uhid->input_buf.u.get_report_reply.size 0-u16max
USER_DATA 0 uhid->input_buf.u.input.size 0-u16max
USER_DATA 0 uhid->input_buf.u.input2.size 0-u16max
USER_DATA 0 uhid->input_buf.u.output.rtype 0-255
USER_DATA 0 uhid->input_buf.u.output.size 0-u16max
USER_DATA 0 uhid->input_buf.u.output_ev.code 0-u16max
USER_DATA 0 uhid->input_buf.u.output_ev.type 0-u16max
USER_DATA 0 uhid->input_buf.u.output_ev.value s32min-s32max
USER_DATA 0 uhid->input_buf.u.set_report.id 0-u32max
USER_DATA 0 uhid->input_buf.u.set_report.rnum 0-255
USER_DATA 0 uhid->input_buf.u.set_report.rtype 0-255
USER_DATA 0 uhid->input_buf.u.set_report.size 0-u16max
USER_DATA 0 uhid->input_buf.u.set_report_reply.err 0-u16max
USER_DATA 0 uhid->input_buf.u.set_report_reply.id 0-u32max
USER_DATA 0 uhid->input_buf.u.start.dev_flags 0-u64max
USER_DATA 1 ev->type 11
USER_DATA 1 ev->u.create.bus 0
USER_DATA 1 ev->u.create.country 0
USER_DATA 1 ev->u.create.product 0
USER_DATA 1 ev->u.create.rd_size 0
USER_DATA 1 ev->u.create.vendor 0
USER_DATA 1 ev->u.create.version 0
USER_DATA 1 ev->u.create2.bus 0
USER_DATA 1 ev->u.create2.country 0
USER_DATA 1 ev->u.create2.product 0
USER_DATA 1 ev->u.create2.rd_size 0
USER_DATA 1 ev->u.create2.vendor 0
USER_DATA 1 ev->u.create2.version 0
USER_DATA 1 ev->u.feature.id 0
USER_DATA 1 ev->u.feature.rnum 0
USER_DATA 1 ev->u.feature.rtype 0
USER_DATA 1 ev->u.feature_answer.err 0
USER_DATA 1 ev->u.feature_answer.id 0
USER_DATA 1 ev->u.feature_answer.size 0
USER_DATA 1 ev->u.get_report.id 0
USER_DATA 1 ev->u.get_report.rnum 0
USER_DATA 1 ev->u.get_report.rtype 0
USER_DATA 1 ev->u.get_report_reply.err 0
USER_DATA 1 ev->u.get_report_reply.id 0
USER_DATA 1 ev->u.get_report_reply.size 0
USER_DATA 1 ev->u.input.size 0
USER_DATA 1 ev->u.input2.size 0
USER_DATA 1 ev->u.output.rtype 0
USER_DATA 1 ev->u.output.size 0
USER_DATA 1 ev->u.output_ev.code 0
USER_DATA 1 ev->u.output_ev.type 0
USER_DATA 1 ev->u.output_ev.value 0
USER_DATA 1 ev->u.set_report.id 0
USER_DATA 1 ev->u.set_report.rnum 0
USER_DATA 1 ev->u.set_report.rtype 0
USER_DATA 1 ev->u.set_report.size 0
USER_DATA 1 ev->u.set_report_reply.err 0
USER_DATA 1 ev->u.set_report_reply.id 0
USER_DATA 1 ev->u.start.dev_flags 0
LOCK2 0 &uhid->devlock
TYPE_LOCK (struct uhid_device)->devlock

drivers/hid/uhid.c uhid_dev_create() -> uhid_dev_create2()

Type Parameter Key Value
PARAM_VALUE 0 uhid 4096-ptr_max
PARAM_VALUE 0 uhid->devlock.dep_map->name 0-255
PARAM_VALUE 0 uhid->devlock.first_waiter 0,4096-ptr_max
PARAM_VALUE 0 uhid->devlock.first_waiter->list.prev->next 5159360019465732096
PARAM_VALUE 0 uhid->devlock.osq.tail.counter 0-s32max
PARAM_VALUE 0 uhid->devlock.wait_lock.dep_map->name 0-255
PARAM_VALUE 0 uhid->devlock.wait_lock.owner (-1)
PARAM_VALUE 0 uhid->devlock.wait_lock.owner_cpu u32max
PARAM_VALUE 0 uhid->input_buf.type 0
PARAM_VALUE 0 uhid->input_buf.u.create.rd_data 0-u32max
PARAM_VALUE 1 ev 4096-ptr_max
PARAM_VALUE 1 ev->type 0
PARAM_VALUE 1 ev->u.create.rd_data 0-u32max
PARAM_VALUE 1 ev->u.create2.name 0
PARAM_VALUE 1 ev->u.create2.phys 0
PARAM_VALUE 1 ev->u.create2.rd_size 1-4096
PARAM_VALUE 1 ev->u.create2.uniq 0
BUF_SIZE 0 uhid s32min-(-2),1-s32max
BUF_SIZE 0 uhid s32min-(-2),1-s32max
CAPPED_DATA 1 ev->u.create2.rd_size 1
DATA_SOURCE 0 uhid $0
DATA_SOURCE 1 ev $1
MEM_ZERO 0 &uhid->input_buf
MEM_ZERO 1 ev
USER_DATA 0 uhid->input_buf->u.create.name 0-255
USER_DATA 0 uhid->input_buf->u.create.phys 0-255
USER_DATA 0 uhid->input_buf->u.create.uniq 0-255
USER_DATA 0 uhid->input_buf.type 0
USER_DATA 0 uhid->input_buf.u.create.bus 0-u16max
USER_DATA 0 uhid->input_buf.u.create.country 0-u32max
USER_DATA 0 uhid->input_buf.u.create.product 0-u32max
USER_DATA 0 uhid->input_buf.u.create.rd_size 0-u16max
USER_DATA 0 uhid->input_buf.u.create.vendor 0-u32max
USER_DATA 0 uhid->input_buf.u.create.version 0-u32max
USER_DATA 0 uhid->input_buf.u.create2.bus 0-u16max
USER_DATA 0 uhid->input_buf.u.create2.country 0-u32max
USER_DATA 0 uhid->input_buf.u.create2.product 0-u32max
USER_DATA 0 uhid->input_buf.u.create2.rd_size 0-u16max
USER_DATA 0 uhid->input_buf.u.create2.vendor 0-u32max
USER_DATA 0 uhid->input_buf.u.create2.version 0-u32max
USER_DATA 0 uhid->input_buf.u.feature.id 0-u32max
USER_DATA 0 uhid->input_buf.u.feature.rnum 0-255
USER_DATA 0 uhid->input_buf.u.feature.rtype 0-255
USER_DATA 0 uhid->input_buf.u.feature_answer.err 0-u16max
USER_DATA 0 uhid->input_buf.u.feature_answer.id 0-u32max
USER_DATA 0 uhid->input_buf.u.feature_answer.size 0-u16max
USER_DATA 0 uhid->input_buf.u.get_report.id 0-u32max
USER_DATA 0 uhid->input_buf.u.get_report.rnum 0-255
USER_DATA 0 uhid->input_buf.u.get_report.rtype 0-255
USER_DATA 0 uhid->input_buf.u.get_report_reply.err 0-u16max
USER_DATA 0 uhid->input_buf.u.get_report_reply.id 0-u32max
USER_DATA 0 uhid->input_buf.u.get_report_reply.size 0-u16max
USER_DATA 0 uhid->input_buf.u.input.size 0-u16max
USER_DATA 0 uhid->input_buf.u.input2.size 0-u16max
USER_DATA 0 uhid->input_buf.u.output.rtype 0-255
USER_DATA 0 uhid->input_buf.u.output.size 0-u16max
USER_DATA 0 uhid->input_buf.u.output_ev.code 0-u16max
USER_DATA 0 uhid->input_buf.u.output_ev.type 0-u16max
USER_DATA 0 uhid->input_buf.u.output_ev.value s32min-s32max
USER_DATA 0 uhid->input_buf.u.set_report.id 0-u32max
USER_DATA 0 uhid->input_buf.u.set_report.rnum 0-255
USER_DATA 0 uhid->input_buf.u.set_report.rtype 0-255
USER_DATA 0 uhid->input_buf.u.set_report.size 0-u16max
USER_DATA 0 uhid->input_buf.u.set_report_reply.err 0-u16max
USER_DATA 0 uhid->input_buf.u.set_report_reply.id 0-u32max
USER_DATA 0 uhid->input_buf.u.start.dev_flags 0-u64max
USER_DATA 1 ev->type 0
USER_DATA 1 ev->u.create.bus 0
USER_DATA 1 ev->u.create.country 0
USER_DATA 1 ev->u.create.product 0
USER_DATA 1 ev->u.create.rd_size 0
USER_DATA 1 ev->u.create.vendor 0
USER_DATA 1 ev->u.create.version 0
USER_DATA 1 ev->u.feature.id 0
USER_DATA 1 ev->u.feature.rnum 0
USER_DATA 1 ev->u.feature.rtype 0
USER_DATA 1 ev->u.feature_answer.err 0
USER_DATA 1 ev->u.feature_answer.id 0
USER_DATA 1 ev->u.feature_answer.size 0
USER_DATA 1 ev->u.get_report.id 0
USER_DATA 1 ev->u.get_report.rnum 0
USER_DATA 1 ev->u.get_report.rtype 0
USER_DATA 1 ev->u.get_report_reply.err 0
USER_DATA 1 ev->u.get_report_reply.id 0
USER_DATA 1 ev->u.get_report_reply.size 0
USER_DATA 1 ev->u.input.size 0
USER_DATA 1 ev->u.input2.size 0
USER_DATA 1 ev->u.output.rtype 0
USER_DATA 1 ev->u.output.size 0
USER_DATA 1 ev->u.output_ev.code 0
USER_DATA 1 ev->u.output_ev.type 0
USER_DATA 1 ev->u.output_ev.value 0
USER_DATA 1 ev->u.set_report.id 0
USER_DATA 1 ev->u.set_report.rnum 0
USER_DATA 1 ev->u.set_report.rtype 0
USER_DATA 1 ev->u.set_report.size 0
USER_DATA 1 ev->u.set_report_reply.err 0
USER_DATA 1 ev->u.set_report_reply.id 0
USER_DATA 1 ev->u.start.dev_flags 0
USER_PTR 1 &ev->u.create2.rd_data
LOCK2 0 &uhid->devlock
TYPE_LOCK (struct uhid_device)->devlock