This issue was reported by coccicheck using the semantic patch 
at scripts/coccinelle/api/memdup.cocci

Signed-off-by: Benoit Taine <benoit.ta...@lip6.fr>
---
Tested by compilation without errors.

 drivers/scsi/aacraid/commctrl.c |    7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/scsi/aacraid/commctrl.c b/drivers/scsi/aacraid/commctrl.c
index fbcd48d..0cdb16b 100644
--- a/drivers/scsi/aacraid/commctrl.c
+++ b/drivers/scsi/aacraid/commctrl.c
@@ -635,15 +635,14 @@ static int aac_send_raw_srb(struct aac_dev* dev, void 
__user * arg)
                        }
                } else {
                        struct user_sgmap* usg;
-                       usg = kmalloc(actual_fibsize - sizeof(struct aac_srb)
-                         + sizeof(struct sgmap), GFP_KERNEL);
+                       usg = kmemdup(upsg, actual_fibsize -
+                               sizeof(struct aac_srb) + sizeof(struct sgmap),
+                               GFP_KERNEL);
                        if (!usg) {
                                dprintk((KERN_DEBUG"aacraid: Allocation error 
in Raw SRB command\n"));
                                rcode = -ENOMEM;
                                goto cleanup;
                        }
-                       memcpy (usg, upsg, actual_fibsize - sizeof(struct 
aac_srb)
-                         + sizeof(struct sgmap));
                        actual_fibsize = actual_fibsize64;
 
                        for (i = 0; i < usg->count; i++) {

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to