From 2188d41c89ab4bc4d882ab50fc78418efe4cc9e8 Mon Sep 17 00:00:00 2001 From: wangyq13 Date: Wed, 6 Nov 2019 15:22:13 +0800 Subject: [PATCH] nova_0flash_mmi: increase the size of fwbuf Increase the size of fwbuf, there are some dummy bytes when do spi read and write, cause kasan errors. Change-Id: Ifab4c686c4b056ed2327c6b43c446f49be94b27a Signed-off-by: wangyq13 Reviewed-on: https://gerrit.mot.com/1449952 SLTApproved: Slta Waiver SME-Granted: SME Approvals Granted Tested-by: Jira Key Reviewed-by: Jun Weng Reviewed-by: Huosheng Liao Submit-Approved: Jira Key --- drivers/input/touchscreen/nova_0flash_mmi/nt36xxx.c | 8 ++++---- .../input/touchscreen/nova_0flash_mmi/nt36xxx_ext_proc.c | 2 +- .../input/touchscreen/nova_0flash_mmi/nt36xxx_fw_update.c | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/input/touchscreen/nova_0flash_mmi/nt36xxx.c b/drivers/input/touchscreen/nova_0flash_mmi/nt36xxx.c index 18e91964b8f1..3d1550df8a14 100644 --- a/drivers/input/touchscreen/nova_0flash_mmi/nt36xxx.c +++ b/drivers/input/touchscreen/nova_0flash_mmi/nt36xxx.c @@ -361,7 +361,7 @@ return: *******************************************************/ void nvt_bld_crc_enable(void) { - uint8_t buf[2] = {0}; + uint8_t buf[4] = {0}; //---set xdata index to BLD_CRC_EN_ADDR--- nvt_set_page(ts->mmap->BLD_CRC_EN_ADDR); @@ -386,7 +386,7 @@ return: *******************************************************/ void nvt_fw_crc_enable(void) { - uint8_t buf[2] = {0}; + uint8_t buf[4] = {0}; //---set xdata index to EVENT BUF ADDR--- nvt_set_page(ts->mmap->EVENT_BUF_ADDR); @@ -622,7 +622,7 @@ return: *******************************************************/ int32_t nvt_read_pid(void) { - uint8_t buf[3] = {0}; + uint8_t buf[4] = {0}; int32_t ret = 0; //---set xdata index to EVENT BUF ADDR--- @@ -1772,7 +1772,7 @@ static int32_t nvt_ts_probe(struct spi_device *client) return -ENOMEM; } - ts->xbuf = (uint8_t *)kzalloc((NVT_TRANSFER_LEN+1), GFP_KERNEL); + ts->xbuf = (uint8_t *)kzalloc((NVT_TRANSFER_LEN+2), GFP_KERNEL); if(ts->xbuf == NULL) { NVT_ERR("kzalloc for xbuf failed!\n"); if (ts) { diff --git a/drivers/input/touchscreen/nova_0flash_mmi/nt36xxx_ext_proc.c b/drivers/input/touchscreen/nova_0flash_mmi/nt36xxx_ext_proc.c index ac9c82f5d556..0c342b451fd5 100644 --- a/drivers/input/touchscreen/nova_0flash_mmi/nt36xxx_ext_proc.c +++ b/drivers/input/touchscreen/nova_0flash_mmi/nt36xxx_ext_proc.c @@ -110,7 +110,7 @@ void nvt_read_mdata(uint32_t xdata_addr, uint32_t xdata_btn_addr) int32_t i = 0; int32_t j = 0; int32_t k = 0; - uint8_t buf[BUS_TRANSFER_LENGTH + 1] = {0}; + uint8_t buf[BUS_TRANSFER_LENGTH + 2] = {0}; uint32_t head_addr = 0; int32_t dummy_len = 0; int32_t data_len = 0; diff --git a/drivers/input/touchscreen/nova_0flash_mmi/nt36xxx_fw_update.c b/drivers/input/touchscreen/nova_0flash_mmi/nt36xxx_fw_update.c index 61c7cc22a0d6..5e5b68c1b1f2 100644 --- a/drivers/input/touchscreen/nova_0flash_mmi/nt36xxx_fw_update.c +++ b/drivers/input/touchscreen/nova_0flash_mmi/nt36xxx_fw_update.c @@ -92,7 +92,7 @@ static int32_t nvt_download_init(void) //NVT_LOG("NVT_TRANSFER_LEN = 0x%06X\n", NVT_TRANSFER_LEN); if (fwbuf == NULL) { - fwbuf = (uint8_t *)kzalloc((NVT_TRANSFER_LEN+1), GFP_KERNEL); + fwbuf = (uint8_t *)kzalloc((NVT_TRANSFER_LEN+2), GFP_KERNEL); if(fwbuf == NULL) { NVT_ERR("kzalloc for fwbuf failed!\n"); return -ENOMEM; @@ -567,7 +567,7 @@ static int32_t nvt_write_firmware(const u8 *fwdata, size_t fwsize) uint32_t BIN_addr, SRAM_addr, size; int32_t ret = 0; - memset(fwbuf, 0, (NVT_TRANSFER_LEN+1)); + memset(fwbuf, 0, (NVT_TRANSFER_LEN+2)); for (list = 0; list < partition; list++) { /* initialize variable */