Commit 75a70891 authored by Zou Wei's avatar Zou Wei Committed by Ben Skeggs
Browse files

drm/nouveau/acr: Use kmemdup instead of kmalloc and memcpy



Fixes coccicheck warning:

drivers/gpu/drm/nouveau/nvkm/subdev/acr/hsfw.c:103:23-30: WARNING opportunity for kmemdup
drivers/gpu/drm/nouveau/nvkm/subdev/acr/hsfw.c:113:22-29: WARNING opportunity for kmemdup

Fixes: 22dcda45 ("drm/nouveau/acr: implement new subdev to replace "secure boot"")
Reported-by: default avatarHulk Robot <hulkci@huawei.com>
Signed-off-by: default avatarZou Wei <zou_wei@huawei.com>
Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent cf0f64ff
Loading
Loading
Loading
Loading
+4 −8
Original line number Diff line number Diff line
@@ -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);