Merge "msm: vidc: Fix validate_pkt_size macro definition"

This commit is contained in:
qctecmdr 2019-07-11 22:57:24 -07:00 committed by Gerrit - the friendly Code Review server
commit 01ee3c3978

View File

@ -90,6 +90,16 @@ static int get_hal_pixel_depth(u32 hfi_bit_depth)
return MSM_VIDC_BIT_DEPTH_UNSUPPORTED;
}
static inline int validate_pkt_size(u32 rem_size, u32 msg_size)
{
if (rem_size < msg_size) {
dprintk(VIDC_ERR, "%s: bad_packet_size: %d\n",
__func__, rem_size);
return false;
}
return true;
}
static int hfi_process_sess_evt_seq_changed(u32 device_id,
struct hfi_msg_event_notify_packet *pkt,
struct msm_vidc_cb_info *info)
@ -108,15 +118,7 @@ static int hfi_process_sess_evt_seq_changed(u32 device_id,
int luma_bit_depth, chroma_bit_depth;
struct hfi_colour_space *colour_info;
#define VALIDATE_PKT_SIZE(__rem_size, __msg_size) ({ \
if (__rem_size < __msg_size) { \
dprintk(VIDC_ERR, \
"hal_process_session_init_done: bad_pkt_size\n"); \
false; \
} \
true; \
})
if (!VALIDATE_PKT_SIZE(pkt->size,
if (!validate_pkt_size(pkt->size,
sizeof(struct hfi_msg_event_notify_packet)))
return -E2BIG;
@ -142,13 +144,13 @@ static int hfi_process_sess_evt_seq_changed(u32 device_id,
rem_size = pkt->size - sizeof(struct
hfi_msg_event_notify_packet) + sizeof(u32);
do {
if (!VALIDATE_PKT_SIZE(rem_size, sizeof(u32)))
if (!validate_pkt_size(rem_size, sizeof(u32)))
return -E2BIG;
prop_id = (int) *((u32 *)data_ptr);
rem_size -= sizeof(u32);
switch (prop_id) {
case HFI_PROPERTY_PARAM_FRAME_SIZE:
if (!VALIDATE_PKT_SIZE(rem_size, sizeof(struct
if (!validate_pkt_size(rem_size, sizeof(struct
hfi_frame_size)))
return -E2BIG;
data_ptr = data_ptr + sizeof(u32);
@ -163,7 +165,7 @@ static int hfi_process_sess_evt_seq_changed(u32 device_id,
rem_size -= sizeof(struct hfi_frame_size);
break;
case HFI_PROPERTY_PARAM_PROFILE_LEVEL_CURRENT:
if (!VALIDATE_PKT_SIZE(rem_size, sizeof(struct
if (!validate_pkt_size(rem_size, sizeof(struct
hfi_profile_level)))
return -E2BIG;
data_ptr = data_ptr + sizeof(u32);
@ -179,7 +181,7 @@ static int hfi_process_sess_evt_seq_changed(u32 device_id,
rem_size -= sizeof(struct hfi_profile_level);
break;
case HFI_PROPERTY_PARAM_VDEC_PIXEL_BITDEPTH:
if (!VALIDATE_PKT_SIZE(rem_size, sizeof(struct
if (!validate_pkt_size(rem_size, sizeof(struct
hfi_bit_depth)))
return -E2BIG;
data_ptr = data_ptr + sizeof(u32);
@ -215,7 +217,7 @@ static int hfi_process_sess_evt_seq_changed(u32 device_id,
rem_size -= sizeof(struct hfi_bit_depth);
break;
case HFI_PROPERTY_PARAM_VDEC_PIC_STRUCT:
if (!VALIDATE_PKT_SIZE(rem_size, sizeof(struct
if (!validate_pkt_size(rem_size, sizeof(struct
hfi_pic_struct)))
return -E2BIG;
data_ptr = data_ptr + sizeof(u32);
@ -230,7 +232,7 @@ static int hfi_process_sess_evt_seq_changed(u32 device_id,
rem_size -= sizeof(struct hfi_pic_struct);
break;
case HFI_PROPERTY_PARAM_VDEC_COLOUR_SPACE:
if (!VALIDATE_PKT_SIZE(rem_size, sizeof(struct
if (!validate_pkt_size(rem_size, sizeof(struct
hfi_colour_space)))
return -E2BIG;
data_ptr = data_ptr + sizeof(u32);
@ -246,7 +248,7 @@ static int hfi_process_sess_evt_seq_changed(u32 device_id,
rem_size -= sizeof(struct hfi_colour_space);
break;
case HFI_PROPERTY_CONFIG_VDEC_ENTROPY:
if (!VALIDATE_PKT_SIZE(rem_size, sizeof(u32)))
if (!validate_pkt_size(rem_size, sizeof(u32)))
return -E2BIG;
data_ptr = data_ptr + sizeof(u32);
entropy_mode = *(u32 *)data_ptr;
@ -258,7 +260,7 @@ static int hfi_process_sess_evt_seq_changed(u32 device_id,
rem_size -= sizeof(u32);
break;
case HFI_PROPERTY_CONFIG_BUFFER_REQUIREMENTS:
if (!VALIDATE_PKT_SIZE(rem_size, sizeof(struct
if (!validate_pkt_size(rem_size, sizeof(struct
hfi_buffer_requirements)))
return -E2BIG;
data_ptr = data_ptr + sizeof(u32);
@ -276,7 +278,7 @@ static int hfi_process_sess_evt_seq_changed(u32 device_id,
sizeof(struct hfi_buffer_requirements);
break;
case HFI_INDEX_EXTRADATA_INPUT_CROP:
if (!VALIDATE_PKT_SIZE(rem_size, sizeof(struct
if (!validate_pkt_size(rem_size, sizeof(struct
hfi_index_extradata_input_crop_payload)))
return -E2BIG;
data_ptr = data_ptr + sizeof(u32);
@ -311,7 +313,6 @@ static int hfi_process_sess_evt_seq_changed(u32 device_id,
num_properties_changed--;
} while (num_properties_changed > 0);
}
#undef VALIDATE_PKT_SIZE
info->response_type = HAL_SESSION_EVENT_CHANGE;
info->response.event = event_notify;