summary refs log tree commit diff
diff options
context:
space:
mode:
authorThomas Meyer <thomas@m3y3r.de>2011-11-17 23:43:40 +0100
committerTony Luck <tony.luck@intel.com>2011-12-09 15:22:34 -0800
commitb82a3ecdc54465c792326522d804d2eebaae9a23 (patch)
tree797c598f1262d045a7a38cfd246e7860bfb1aa27
parentac0d1a48d8b18c4808ab73d990b83bb032f21c25 (diff)
downloadlinux-b82a3ecdc54465c792326522d804d2eebaae9a23.tar.gz
ia64: sn: Use kmemdup rather than duplicating its implementation
The semantic patch that makes this change is available
in scripts/coccinelle/api/memdup.cocci.

Signed-off-by: Thomas Meyer <thomas@m3y3r.de>
Signed-off-by: Tony Luck <tony.luck@intel.com>
-rw-r--r--arch/ia64/sn/kernel/irq.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/arch/ia64/sn/kernel/irq.c b/arch/ia64/sn/kernel/irq.c
index 485c42d97e83..dfac09ab027a 100644
--- a/arch/ia64/sn/kernel/irq.c
+++ b/arch/ia64/sn/kernel/irq.c
@@ -150,12 +150,11 @@ struct sn_irq_info *sn_retarget_vector(struct sn_irq_info *sn_irq_info,
 	 * PROM does not support SAL_INTR_REDIRECT, or it failed.
 	 * Revert to old method.
 	 */
-	new_irq_info = kmalloc(sizeof(struct sn_irq_info), GFP_ATOMIC);
+	new_irq_info = kmemdup(sn_irq_info, sizeof(struct sn_irq_info),
+			       GFP_ATOMIC);
 	if (new_irq_info == NULL)
 		return NULL;
 
-	memcpy(new_irq_info, sn_irq_info, sizeof(struct sn_irq_info));
-
 	/* Free the old PROM new_irq_info structure */
 	sn_intr_free(local_nasid, local_widget, new_irq_info);
 	unregister_intr_pda(new_irq_info);