From 31748cad9cd807f15967851677355bea88f50d2e Mon Sep 17 00:00:00 2001 From: Harsh Sahu Date: Thu, 22 Mar 2018 23:22:17 -0700 Subject: [PATCH] drm/msm : check buffer size before writing to user buffer Check the number of bytes to copy against the size of the user buffer before copy to user to avoid buffer overflow. Change-Id: Ida3f2470b8441010adc30312c12c6d75fdd6ccb8 Signed-off-by: Harsh Sahu --- drivers/gpu/drm/msm/sde_dbg.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/gpu/drm/msm/sde_dbg.c b/drivers/gpu/drm/msm/sde_dbg.c index c886950e5212..93c4c1e27b0d 100644 --- a/drivers/gpu/drm/msm/sde_dbg.c +++ b/drivers/gpu/drm/msm/sde_dbg.c @@ -1643,6 +1643,11 @@ static ssize_t sde_evtlog_dump_read(struct file *file, char __user *buff, len = sde_evtlog_dump_to_buffer(sde_dbg_base.evtlog, evtlog_buf, SDE_EVTLOG_BUF_MAX, true); + if (len < 0 || len > count) { + pr_err("len is more than user buffer size"); + return 0; + } + if (copy_to_user(buff, evtlog_buf, len)) return -EFAULT; *ppos += len;