diff options
author | Sanjay Singh <sisanj@codeaurora.org> | 2018-09-17 10:36:26 +0530 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2018-09-25 04:28:47 -0700 |
commit | 806b5fb737260b2337a73e507a69e7fca95dc8d6 (patch) | |
tree | d4e1f12f48ecce9b314e30c287e8fa1054361fa1 | |
parent | 9563f288bd6b255ff5de3c3304836b6398b0ec24 (diff) |
msm: vidc: ignore processing responses in invalid stateLE.UM.2.3.2-03000-SDX24
No need to process response messages from video hardware
after device went into invalid state. Processing responses
may result in use-after-free memory fault because client
might free all the resources after error.
Change-Id: Ia2c22a2740466e6368e61437aa4246927150858b
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
Signed-off-by: Sanjay Singh <sisanj@codeaurora.org>
-rw-r--r-- | drivers/media/platform/msm/vidc_3x/venus_hfi.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/media/platform/msm/vidc_3x/venus_hfi.c b/drivers/media/platform/msm/vidc_3x/venus_hfi.c index c38508803e43..1bd6ae8959cf 100644 --- a/drivers/media/platform/msm/vidc_3x/venus_hfi.c +++ b/drivers/media/platform/msm/vidc_3x/venus_hfi.c @@ -3645,6 +3645,12 @@ err_no_work: i < num_responses; ++i) { struct msm_vidc_cb_info *r = &device->response_pkt[i]; + if (!__core_in_valid_state(device)) { + dprintk(VIDC_ERR, + "Ignore responses from %d to %d as device is in invalid state", + (i + 1), num_responses); + break; + } device->callback(r->response_type, &r->response); } |