56 lines
2.0 KiB
Diff
56 lines
2.0 KiB
Diff
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||
|
From: Zou Wei <zou_wei@huawei.com>
|
||
|
Date: Tue, 21 Apr 2020 20:37:31 +0800
|
||
|
Subject: [PATCH] acr: Use kmemdup instead of kmalloc and memcpy
|
||
|
|
||
|
Fixes coccicheck warning:
|
||
|
|
||
|
drivers/gpu/drivers/gpu/drm/nouveau/nvkm/subdev/acr/hsfw.c:103:23-30: WARNING opportunity for kmemdup
|
||
|
drivers/gpu/drivers/gpu/drm/nouveau/nvkm/subdev/acr/hsfw.c:113:22-29: WARNING opportunity for kmemdup
|
||
|
|
||
|
Fixes: 22dcda45a3d1 ("drivers/gpu/drm/nouveau/acr: implement new subdev to replace "secure boot"")
|
||
|
Reported-by: Hulk Robot <hulkci@huawei.com>
|
||
|
Signed-off-by: Zou Wei <zou_wei@huawei.com>
|
||
|
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
|
||
|
---
|
||
|
drivers/gpu/drm/nouveau/nvkm/subdev/acr/hsfw.c | 12 ++++--------
|
||
|
1 file changed, 4 insertions(+), 8 deletions(-)
|
||
|
|
||
|
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/acr/hsfw.c b/drivers/gpu/drm/nouveau/nvkm/subdev/acr/hsfw.c
|
||
|
index aecce2dac558..667fa016496e 100644
|
||
|
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/acr/hsfw.c
|
||
|
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/acr/hsfw.c
|
||
|
@@ -100,25 +100,21 @@ nvkm_acr_hsfw_load_image(struct nvkm_acr *acr, const char *name, int ver,
|
||
|
hsfw->data_size = lhdr->data_size;
|
||
|
|
||
|
hsfw->sig.prod.size = fwhdr->sig_prod_size;
|
||
|
- hsfw->sig.prod.data = kmalloc(hsfw->sig.prod.size, GFP_KERNEL);
|
||
|
+ hsfw->sig.prod.data = kmemdup(fw->data + fwhdr->sig_prod_offset + sig,
|
||
|
+ hsfw->sig.prod.size, GFP_KERNEL);
|
||
|
if (!hsfw->sig.prod.data) {
|
||
|
ret = -ENOMEM;
|
||
|
goto done;
|
||
|
}
|
||
|
|
||
|
- memcpy(hsfw->sig.prod.data, fw->data + fwhdr->sig_prod_offset + sig,
|
||
|
- hsfw->sig.prod.size);
|
||
|
-
|
||
|
hsfw->sig.dbg.size = fwhdr->sig_dbg_size;
|
||
|
- hsfw->sig.dbg.data = kmalloc(hsfw->sig.dbg.size, GFP_KERNEL);
|
||
|
+ hsfw->sig.dbg.data = kmemdup(fw->data + fwhdr->sig_dbg_offset + sig,
|
||
|
+ hsfw->sig.dbg.size, GFP_KERNEL);
|
||
|
if (!hsfw->sig.dbg.data) {
|
||
|
ret = -ENOMEM;
|
||
|
goto done;
|
||
|
}
|
||
|
|
||
|
- memcpy(hsfw->sig.dbg.data, fw->data + fwhdr->sig_dbg_offset + sig,
|
||
|
- hsfw->sig.dbg.size);
|
||
|
-
|
||
|
hsfw->sig.patch_loc = loc;
|
||
|
done:
|
||
|
nvkm_firmware_put(fw);
|
||
|
--
|
||
|
2.26.2
|
||
|
|