media: venus: hfi: fix the check to handle session buffer requirement
commit b18e36dfd6c935da60a971310374f3dfec3c82e1 upstream. Buffer requirement, for different buffer type, comes from video firmware. While copying these requirements, there is an OOB possibility when the payload from firmware is more than expected size. Fix the check to avoid the OOB possibility. Cc: stable@vger.kernel.org Fixes: 09c2845e8fe4 ("[media] media: venus: hfi: add Host Firmware Interface (HFI)") Reviewed-by: Nathan Hebert <nhebert@chromium.org> Signed-off-by: Vikash Garodia <quic_vgarodia@quicinc.com> Signed-off-by: Stanimir Varbanov <stanimir.k.varbanov@gmail.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
1d23806f8f
commit
f6f9231b6c
1 changed files with 1 additions and 1 deletions
|
@ -351,7 +351,7 @@ session_get_prop_buf_req(struct hfi_msg_session_property_info_pkt *pkt,
|
||||||
memcpy(&bufreq[idx], buf_req, sizeof(*bufreq));
|
memcpy(&bufreq[idx], buf_req, sizeof(*bufreq));
|
||||||
idx++;
|
idx++;
|
||||||
|
|
||||||
if (idx > HFI_BUFFER_TYPE_MAX)
|
if (idx >= HFI_BUFFER_TYPE_MAX)
|
||||||
return HFI_ERR_SESSION_INVALID_PARAMETER;
|
return HFI_ERR_SESSION_INVALID_PARAMETER;
|
||||||
|
|
||||||
req_bytes -= sizeof(struct hfi_buffer_requirements);
|
req_bytes -= sizeof(struct hfi_buffer_requirements);
|
||||||
|
|
Loading…
Add table
Reference in a new issue