Skip to contentSkip to conversation

x86, microcode, AMD: Cocci spatch "memdup.spatch"

PATCH In review Thomas Meyer 2 participants 2 messages Jun 1, 2013 – Jun 2, 2013 x86

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 x86, microcode, AMD: Cocci spatch "memdup.spatch"

---

arch/x86/kernel/microcode_amd.c +1 -2
diff -u -p a/arch/x86/kernel/microcode_amd.c b/arch/x86/kernel/microcode_amd.c
@@ -345,7 +345,7 @@ static int verify_and_add_patch(unsigned
 		return -EINVAL;
 	}
 
-	patch->data = kzalloc(patch_size, GFP_KERNEL);
+	patch->data = kmemdup(fw + SECTION_HDR_SIZE, patch_size, GFP_KERNEL);
 	if (!patch->data) {
 		pr_err("Patch data allocation failure.\n");
 		kfree(patch);
@@ -353,7 +353,6 @@ static int verify_and_add_patch(unsigned
 	}
 
 	/* All looks ok, copy patch... */
-	memcpy(patch->data, fw + SECTION_HDR_SIZE, patch_size);
 	INIT_LIST_HEAD(&patch->plist);
 	patch->patch_id  = mc_hdr->patch_id;
 	patch->equiv_cpu = proc_id;
maintainer
#1 lore raw
Quoted 17 lines · Thomas Meyer

---

diff -u -p a/arch/x86/kernel/microcode_amd.c b/arch/x86/kernel/microcode_amd.c

arch/x86/kernel/microcode_amd.c +1 -1
@@ -345,7 +345,7 @@ static int verify_and_add_patch(unsigned
 		return -EINVAL;
 	}
 
-	patch->data = kzalloc(patch_size, GFP_KERNEL);
+	patch->data = kmemdup(fw + SECTION_HDR_SIZE, patch_size, GFP_KERNEL);
 	if (!patch->data) {
 		pr_err("Patch data allocation failure.\n");
 		kfree(patch);

arch/x86/kernel/microcode_amd.c static int verify_and_add_patch(unsigned · line 358

Quoted 7 lines
arch/x86/kernel/microcode_amd.c +0 -1
@@ -353,7 +353,6 @@ static int verify_and_add_patch(unsigned
 	}
 
 	/* All looks ok, copy patch... */
-	memcpy(patch->data, fw + SECTION_HDR_SIZE, patch_size);
 	INIT_LIST_HEAD(&patch->plist);
 	patch->patch_id  = mc_hdr->patch_id;
 	patch->equiv_cpu = proc_id;

I can see what happens with a little code browsing of the definition of kmemdup but patches without a commit message are most times not a very elegant thing.

So please add a nice commit message explaining why you're doing what you're doing. If the coccinelle script is not in the kernel tree, then referring to it doesn't mean a whole lot so don't do it. Rather, explaining why you're doing the change, is a much better thing to do.

Thanks.