From 7867be23f01a49bc1e007476eed45cc56731ad4f Mon Sep 17 00:00:00 2001 From: Yuanfang Zhang Date: Fri, 29 May 2020 11:36:47 +0800 Subject: [PATCH] soc: qcom: dcc: avoid memory access violation When *ppos + len is overflow, shrink len to max readable size of SRAM. Change-Id: I7c35433d384eb596a3f84b7ce13652f58166b40a Signed-off-by: Yuanfang Zhang --- drivers/soc/qcom/dcc_v2.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/soc/qcom/dcc_v2.c b/drivers/soc/qcom/dcc_v2.c index 1ea6d361aa72..02e9c61f6041 100644 --- a/drivers/soc/qcom/dcc_v2.c +++ b/drivers/soc/qcom/dcc_v2.c @@ -1538,7 +1538,8 @@ static ssize_t dcc_sram_read(struct file *file, char __user *data, if (drvdata->ram_size <= *ppos) return 0; - if ((*ppos + len) > drvdata->ram_size) + if ((*ppos + len) < len + || (*ppos + len) > drvdata->ram_size) len = (drvdata->ram_size - *ppos); buf = kzalloc(len, GFP_KERNEL);