aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryang-cy.chen <yang-cy.chen@mediatek.com>2016-05-05 20:27:55 +0800
committerMoyster <oysterized@gmail.com>2016-08-26 16:02:14 +0200
commit7c6ae0e9fe2f82b13bb751143feb933a83a96ac3 (patch)
tree4b5f3109279a11a525619d07265e93437951a379
parent2ba773c9c6498be7623d3de43f825aef48dd619d (diff)
Fix "stack overflow in Mediatek Thermal driver" issue
Problem: lack of boundary check of user input parameter before copy_from_user. Solution: Add boundary protection to prevent buffer overflow Bug num:28333002 Change-Id: I8364a6cbf69527d4b2f2fa7874c8c01720febd5d Signed-off-by: yang-cy.chen <yang-cy.chen@mediatek.com>
-rw-r--r--drivers/misc/mediatek/thermal/mtk_cooler_shutdown.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/misc/mediatek/thermal/mtk_cooler_shutdown.c b/drivers/misc/mediatek/thermal/mtk_cooler_shutdown.c
index 7f5beb898..dc5fe0a0e 100644
--- a/drivers/misc/mediatek/thermal/mtk_cooler_shutdown.c
+++ b/drivers/misc/mediatek/thermal/mtk_cooler_shutdown.c
@@ -64,6 +64,9 @@ static ssize_t _mtk_cl_sd_rst_write(struct file *filp, const char __user *buf, s
int ret = 0;
char tmp[MAX_LEN] = { 0 };
+
+ len = min(len,MAX_LEN-1);
+
/* write data to the buffer */
if (copy_from_user(tmp, buf, len)) {
return -EFAULT;