msm: vidc: fix KCFI errors
Fix errors reported after enabling Kernel Control Flow Integrity (KCFI) on kernel code. This is a security mechanism that disallows changes to the original control flow of a compiled binary. Change-Id: I1e1e901c5889d9928411dc785da88e1eac378560 Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org> Signed-off-by: Sanjay Singh <sisanj@codeaurora.org>
This commit is contained in:
parent
8b4d96792a
commit
b6376f2b6d
1 changed files with 35 additions and 18 deletions
|
@ -316,9 +316,10 @@ static int hfi_process_session_error(u32 device_id,
|
|||
}
|
||||
|
||||
static int hfi_process_event_notify(u32 device_id,
|
||||
struct hfi_msg_event_notify_packet *pkt,
|
||||
void *_pkt,
|
||||
struct msm_vidc_cb_info *info)
|
||||
{
|
||||
struct hfi_msg_event_notify_packet *pkt = _pkt;
|
||||
dprintk(VIDC_DBG, "Received: EVENT_NOTIFY\n");
|
||||
|
||||
if (pkt->size < sizeof(struct hfi_msg_event_notify_packet)) {
|
||||
|
@ -357,9 +358,10 @@ static int hfi_process_event_notify(u32 device_id,
|
|||
}
|
||||
|
||||
static int hfi_process_sys_init_done(u32 device_id,
|
||||
struct hfi_msg_sys_init_done_packet *pkt,
|
||||
void *_pkt,
|
||||
struct msm_vidc_cb_info *info)
|
||||
{
|
||||
struct hfi_msg_sys_init_done_packet *pkt = _pkt;
|
||||
struct msm_vidc_cb_cmd_done cmd_done = {0};
|
||||
enum vidc_status status = VIDC_ERR_NONE;
|
||||
|
||||
|
@ -396,9 +398,10 @@ err_no_prop:
|
|||
}
|
||||
|
||||
static int hfi_process_sys_rel_resource_done(u32 device_id,
|
||||
struct hfi_msg_sys_release_resource_done_packet *pkt,
|
||||
void *_pkt,
|
||||
struct msm_vidc_cb_info *info)
|
||||
{
|
||||
struct hfi_msg_sys_release_resource_done_packet *pkt = _pkt;
|
||||
struct msm_vidc_cb_cmd_done cmd_done = {0};
|
||||
enum vidc_status status = VIDC_ERR_NONE;
|
||||
u32 pkt_size;
|
||||
|
@ -1221,9 +1224,10 @@ static void hfi_process_sess_get_prop_buf_req(
|
|||
}
|
||||
|
||||
static int hfi_process_session_prop_info(u32 device_id,
|
||||
struct hfi_msg_session_property_info_packet *pkt,
|
||||
void *_pkt,
|
||||
struct msm_vidc_cb_info *info)
|
||||
{
|
||||
struct hfi_msg_session_property_info_packet *pkt = _pkt;
|
||||
struct msm_vidc_cb_cmd_done cmd_done = {0};
|
||||
struct hfi_profile_level profile_level = {0};
|
||||
enum hal_h264_entropy entropy = {0};
|
||||
|
@ -1296,9 +1300,10 @@ static int hfi_process_session_prop_info(u32 device_id,
|
|||
}
|
||||
|
||||
static int hfi_process_session_init_done(u32 device_id,
|
||||
struct hfi_msg_sys_session_init_done_packet *pkt,
|
||||
void *_pkt,
|
||||
struct msm_vidc_cb_info *info)
|
||||
{
|
||||
struct hfi_msg_sys_session_init_done_packet *pkt = _pkt;
|
||||
struct msm_vidc_cb_cmd_done cmd_done = {0};
|
||||
struct vidc_hal_session_init_done session_init_done = { {0} };
|
||||
|
||||
|
@ -1330,9 +1335,10 @@ static int hfi_process_session_init_done(u32 device_id,
|
|||
}
|
||||
|
||||
static int hfi_process_session_load_res_done(u32 device_id,
|
||||
struct hfi_msg_session_load_resources_done_packet *pkt,
|
||||
void *_pkt,
|
||||
struct msm_vidc_cb_info *info)
|
||||
{
|
||||
struct hfi_msg_session_load_resources_done_packet *pkt = _pkt;
|
||||
struct msm_vidc_cb_cmd_done cmd_done = {0};
|
||||
dprintk(VIDC_DBG, "RECEIVED: SESSION_LOAD_RESOURCES_DONE[%#x]\n",
|
||||
pkt->session_id);
|
||||
|
@ -1359,9 +1365,10 @@ static int hfi_process_session_load_res_done(u32 device_id,
|
|||
}
|
||||
|
||||
static int hfi_process_session_flush_done(u32 device_id,
|
||||
struct hfi_msg_session_flush_done_packet *pkt,
|
||||
void *_pkt,
|
||||
struct msm_vidc_cb_info *info)
|
||||
{
|
||||
struct hfi_msg_session_flush_done_packet *pkt = _pkt;
|
||||
struct msm_vidc_cb_cmd_done cmd_done = {0};
|
||||
|
||||
dprintk(VIDC_DBG, "RECEIVED: SESSION_FLUSH_DONE[%#x]\n",
|
||||
|
@ -1404,9 +1411,10 @@ static int hfi_process_session_flush_done(u32 device_id,
|
|||
}
|
||||
|
||||
static int hfi_process_session_etb_done(u32 device_id,
|
||||
struct hfi_msg_session_empty_buffer_done_packet *pkt,
|
||||
void *_pkt,
|
||||
struct msm_vidc_cb_info *info)
|
||||
{
|
||||
struct hfi_msg_session_empty_buffer_done_packet *pkt = _pkt;
|
||||
struct msm_vidc_cb_data_done data_done = {0};
|
||||
struct hfi_picture_type *hfi_picture_type = NULL;
|
||||
|
||||
|
@ -1455,9 +1463,10 @@ static int hfi_process_session_etb_done(u32 device_id,
|
|||
}
|
||||
|
||||
static int hfi_process_session_ftb_done(
|
||||
u32 device_id, struct vidc_hal_msg_pkt_hdr *msg_hdr,
|
||||
u32 device_id, void *_pkt,
|
||||
struct msm_vidc_cb_info *info)
|
||||
{
|
||||
struct vidc_hal_msg_pkt_hdr *msg_hdr = _pkt;
|
||||
struct msm_vidc_cb_data_done data_done = {0};
|
||||
bool is_decoder = false, is_encoder = false;
|
||||
|
||||
|
@ -1582,9 +1591,10 @@ static int hfi_process_session_ftb_done(
|
|||
}
|
||||
|
||||
static int hfi_process_session_start_done(u32 device_id,
|
||||
struct hfi_msg_session_start_done_packet *pkt,
|
||||
void *_pkt,
|
||||
struct msm_vidc_cb_info *info)
|
||||
{
|
||||
struct hfi_msg_session_start_done_packet *pkt = _pkt;
|
||||
struct msm_vidc_cb_cmd_done cmd_done = {0};
|
||||
|
||||
dprintk(VIDC_DBG, "RECEIVED: SESSION_START_DONE[%#x]\n",
|
||||
|
@ -1610,9 +1620,10 @@ static int hfi_process_session_start_done(u32 device_id,
|
|||
}
|
||||
|
||||
static int hfi_process_session_stop_done(u32 device_id,
|
||||
struct hfi_msg_session_stop_done_packet *pkt,
|
||||
void *_pkt,
|
||||
struct msm_vidc_cb_info *info)
|
||||
{
|
||||
struct hfi_msg_session_stop_done_packet *pkt = _pkt;
|
||||
struct msm_vidc_cb_cmd_done cmd_done = {0};
|
||||
|
||||
dprintk(VIDC_DBG, "RECEIVED: SESSION_STOP_DONE[%#x]\n",
|
||||
|
@ -1639,9 +1650,10 @@ static int hfi_process_session_stop_done(u32 device_id,
|
|||
}
|
||||
|
||||
static int hfi_process_session_rel_res_done(u32 device_id,
|
||||
struct hfi_msg_session_release_resources_done_packet *pkt,
|
||||
void *_pkt,
|
||||
struct msm_vidc_cb_info *info)
|
||||
{
|
||||
struct hfi_msg_session_release_resources_done_packet *pkt = _pkt;
|
||||
struct msm_vidc_cb_cmd_done cmd_done = {0};
|
||||
|
||||
dprintk(VIDC_DBG, "RECEIVED: SESSION_RELEASE_RESOURCES_DONE[%#x]\n",
|
||||
|
@ -1668,9 +1680,10 @@ static int hfi_process_session_rel_res_done(u32 device_id,
|
|||
}
|
||||
|
||||
static int hfi_process_session_rel_buf_done(u32 device_id,
|
||||
struct hfi_msg_session_release_buffers_done_packet *pkt,
|
||||
void *_pkt,
|
||||
struct msm_vidc_cb_info *info)
|
||||
{
|
||||
struct hfi_msg_session_release_buffers_done_packet *pkt = _pkt;
|
||||
struct msm_vidc_cb_cmd_done cmd_done = {0};
|
||||
|
||||
if (!pkt || pkt->size <
|
||||
|
@ -1703,9 +1716,10 @@ static int hfi_process_session_rel_buf_done(u32 device_id,
|
|||
}
|
||||
|
||||
static int hfi_process_session_end_done(u32 device_id,
|
||||
struct hfi_msg_sys_session_end_done_packet *pkt,
|
||||
void *_pkt,
|
||||
struct msm_vidc_cb_info *info)
|
||||
{
|
||||
struct hfi_msg_sys_session_end_done_packet *pkt = _pkt;
|
||||
struct msm_vidc_cb_cmd_done cmd_done = {0};
|
||||
|
||||
dprintk(VIDC_DBG, "RECEIVED: SESSION_END_DONE[%#x]\n", pkt->session_id);
|
||||
|
@ -1730,9 +1744,10 @@ static int hfi_process_session_end_done(u32 device_id,
|
|||
}
|
||||
|
||||
static int hfi_process_session_abort_done(u32 device_id,
|
||||
struct hfi_msg_sys_session_abort_done_packet *pkt,
|
||||
void *_pkt,
|
||||
struct msm_vidc_cb_info *info)
|
||||
{
|
||||
struct hfi_msg_sys_session_abort_done_packet *pkt = _pkt;
|
||||
struct msm_vidc_cb_cmd_done cmd_done = {0};
|
||||
|
||||
dprintk(VIDC_DBG, "RECEIVED: SESSION_ABORT_DONE[%#x]\n",
|
||||
|
@ -1837,9 +1852,10 @@ static void hfi_process_sys_get_prop_image_version(
|
|||
}
|
||||
|
||||
static int hfi_process_sys_property_info(u32 device_id,
|
||||
struct hfi_msg_sys_property_info_packet *pkt,
|
||||
void *_pkt,
|
||||
struct msm_vidc_cb_info *info)
|
||||
{
|
||||
struct hfi_msg_sys_property_info_packet *pkt = _pkt;
|
||||
if (!pkt) {
|
||||
dprintk(VIDC_ERR, "%s: invalid param\n", __func__);
|
||||
return -EINVAL;
|
||||
|
@ -1871,7 +1887,7 @@ static int hfi_process_sys_property_info(u32 device_id,
|
|||
}
|
||||
|
||||
static int hfi_process_ignore(u32 device_id,
|
||||
struct vidc_hal_msg_pkt_hdr *msg_hdr,
|
||||
void *_pkt,
|
||||
struct msm_vidc_cb_info *info)
|
||||
{
|
||||
*info = (struct msm_vidc_cb_info) {
|
||||
|
@ -1955,5 +1971,6 @@ int hfi_process_msg_packet(u32 device_id, struct vidc_hal_msg_pkt_hdr *msg_hdr,
|
|||
break;
|
||||
}
|
||||
|
||||
return pkt_func ? pkt_func(device_id, msg_hdr, info) : -ENOTSUPP;
|
||||
return pkt_func ?
|
||||
pkt_func(device_id, (void *)msg_hdr, info) : -ENOTSUPP;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue