disp: msm: dp: validate edid before dereferencing
Currently, when using custom edid from debugfs, the extensions data inside the edid block is not validated before dereferencing the extension block. The fix adds a edid validation function to validate any custom edids before accessing any members in the edid block. Change-Id: I8a2cc45477416a8f8c4cff882bd53d14012e29f4 Signed-off-by: Sudarsan Ramesh <sudarame@codeaurora.org>
这个提交包含在:

提交者
Gerrit - the friendly Code Review server

父节点
348e9b397c
当前提交
c6b636fe0b
@@ -157,7 +157,7 @@ static ssize_t dp_debug_write_edid(struct file *file,
|
||||
edid = debug->edid;
|
||||
bail:
|
||||
kfree(buf);
|
||||
debug->panel->set_edid(debug->panel, edid);
|
||||
debug->panel->set_edid(debug->panel, edid, debug->edid_size);
|
||||
|
||||
/*
|
||||
* print edid status as this code is executed
|
||||
@@ -1617,7 +1617,7 @@ static void dp_debug_set_sim_mode(struct dp_debug_private *debug, bool sim)
|
||||
debug->ctrl->set_sim_mode(debug->ctrl, false);
|
||||
debug->dp_debug.sim_mode = false;
|
||||
|
||||
debug->panel->set_edid(debug->panel, 0);
|
||||
debug->panel->set_edid(debug->panel, 0, 0);
|
||||
if (debug->edid) {
|
||||
devm_kfree(debug->dev, debug->edid);
|
||||
debug->edid = NULL;
|
||||
|
在新工单中引用
屏蔽一个用户