diff mbox series

scsi: aic7xxx: Use kmemdup in two places

Message ID 20200909185855.151964-1-alex.dewar90@gmail.com
State New
Headers show
Series scsi: aic7xxx: Use kmemdup in two places | expand

Commit Message

Alex Dewar Sept. 9, 2020, 6:58 p.m. UTC
kmemdup can be used instead of kmalloc+memcpy. Replace two occurrences
of this pattern.

Issue identified with Coccinelle.

Signed-off-by: Alex Dewar <alex.dewar90@gmail.com>
---
 drivers/scsi/aic7xxx/aic79xx_core.c | 3 +--
 drivers/scsi/aic7xxx/aic7xxx_core.c | 3 +--
 2 files changed, 2 insertions(+), 4 deletions(-)

Comments

Martin K. Petersen Sept. 16, 2020, 2 a.m. UTC | #1
Alex,

> kmemdup can be used instead of kmalloc+memcpy. Replace two occurrences

> of this pattern.

>

> Issue identified with Coccinelle.


Applied to 5.10/scsi-staging, thanks!

-- 
Martin K. Petersen	Oracle Linux Engineering
Martin K. Petersen Sept. 22, 2020, 3:56 a.m. UTC | #2
On Wed, 9 Sep 2020 19:58:55 +0100, Alex Dewar wrote:

> kmemdup can be used instead of kmalloc+memcpy. Replace two occurrences

> of this pattern.

> 

> Issue identified with Coccinelle.


Applied to 5.10/scsi-queue, thanks!

[1/1] scsi: aic7xxx: Use kmemdup() in two places
      https://git.kernel.org/mkp/scsi/c/f97e6e1eabbf

-- 
Martin K. Petersen	Oracle Linux Engineering
diff mbox series

Patch

diff --git a/drivers/scsi/aic7xxx/aic79xx_core.c b/drivers/scsi/aic7xxx/aic79xx_core.c
index 1c617c0d5899..98b02e7d38bb 100644
--- a/drivers/scsi/aic7xxx/aic79xx_core.c
+++ b/drivers/scsi/aic7xxx/aic79xx_core.c
@@ -9402,10 +9402,9 @@  ahd_loadseq(struct ahd_softc *ahd)
 	if (cs_count != 0) {
 
 		cs_count *= sizeof(struct cs);
-		ahd->critical_sections = kmalloc(cs_count, GFP_ATOMIC);
+		ahd->critical_sections = kmemdup(cs_table, cs_count, GFP_ATOMIC);
 		if (ahd->critical_sections == NULL)
 			panic("ahd_loadseq: Could not malloc");
-		memcpy(ahd->critical_sections, cs_table, cs_count);
 	}
 	ahd_outb(ahd, SEQCTL0, PERRORDIS|FAILDIS|FASTMODE);
 
diff --git a/drivers/scsi/aic7xxx/aic7xxx_core.c b/drivers/scsi/aic7xxx/aic7xxx_core.c
index 2231c4afa531..725bb7f58054 100644
--- a/drivers/scsi/aic7xxx/aic7xxx_core.c
+++ b/drivers/scsi/aic7xxx/aic7xxx_core.c
@@ -6879,10 +6879,9 @@  ahc_loadseq(struct ahc_softc *ahc)
 	if (cs_count != 0) {
 
 		cs_count *= sizeof(struct cs);
-		ahc->critical_sections = kmalloc(cs_count, GFP_ATOMIC);
+		ahc->critical_sections = kmemdup(cs_table, cs_count, GFP_ATOMIC);
 		if (ahc->critical_sections == NULL)
 			panic("ahc_loadseq: Could not malloc");
-		memcpy(ahc->critical_sections, cs_table, cs_count);
 	}
 	ahc_outb(ahc, SEQCTL, PERRORDIS|FAILDIS|FASTMODE);