func: static int CVE_2014_3183_VULN_logi_dj_ll_raw_request(struct hid_device unsigned char reportnum, __u8 size_t count, unsigned char int reqtype) struct dj_device * djdev = hid -> driver_data ; u8 * out_buf ; if ( buf [ 0 ] != REPORT_TYPE_LEDS )  out_buf = kzalloc ( DJREPORT_SHORT_LENGTH , GFP_ATOMIC ); if ( ! out_buf )  if ( count < DJREPORT_SHORT_LENGTH - 2 )  count = DJREPORT_SHORT_LENGTH - 2; out_buf [ 0 ] = REPORT_ID_DJ_SHORT; out_buf [ 1 ] = djdev -> device_index; memcpy ( out_buf + 2 , buf , count ); ret = hid_hw_raw_request ( djrcv_dev -> hdev , out_buf [ 0 ] , out_buf , DJREPORT_SHORT_LENGTH , report_type , reqtype ); kfree ( out_buf ); return ret ; 