From 2441fa93a82b2a799de2e07f74acca07a7d7d49d Mon Sep 17 00:00:00 2001 From: Michael Straube Date: Fri, 7 Jan 2022 11:36:10 +0100 Subject: [PATCH] staging: r8188eu: use kmemdup instead of kzalloc and memcpy Use kmemdup instead of kzalloc and memcpy in load_firmware(). Signed-off-by: Michael Straube Link: https://lore.kernel.org/r/20220107103620.15648-10-straube.linux@gmail.com Signed-off-by: Greg Kroah-Hartman --- drivers/staging/r8188eu/hal/rtl8188e_hal_init.c | 7 +------ drivers/staging/r8188eu/include/rtl8188e_hal.h | 1 - 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c b/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c index ee684b37ff912..f7ae2fc0d2b90 100644 --- a/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c +++ b/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c @@ -525,18 +525,13 @@ static int load_firmware(struct rt_firmware *rtfw, struct device *device) ret = _FAIL; goto exit; } - if (fw->size > FW_8188E_SIZE) { - ret = _FAIL; - goto exit; - } - rtfw->data = kzalloc(FW_8188E_SIZE, GFP_KERNEL); + rtfw->data = kmemdup(fw->data, fw->size, GFP_KERNEL); if (!rtfw->data) { pr_err("Failed to allocate rtfw->data\n"); ret = _FAIL; goto exit; } - memcpy(rtfw->data, fw->data, fw->size); rtfw->size = fw->size; dev_dbg(device, "!bUsedWoWLANFw, FmrmwareLen:%d+\n", rtfw->size); diff --git a/drivers/staging/r8188eu/include/rtl8188e_hal.h b/drivers/staging/r8188eu/include/rtl8188e_hal.h index 3da04751f25de..051f3b9fe7262 100644 --- a/drivers/staging/r8188eu/include/rtl8188e_hal.h +++ b/drivers/staging/r8188eu/include/rtl8188e_hal.h @@ -35,7 +35,6 @@ #define PageNum_128(_Len) (u32)(((_Len)>>7) + ((_Len) & 0x7F ? 1 : 0)) /* download firmware related data structure */ -#define FW_8188E_SIZE 0x4000 /* 16384,16k */ #define FW_8188E_START_ADDRESS 0x1000 #define MAX_PAGE_SIZE 4096 /* @ page : 4k bytes */ -- 2.30.2