Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1623839 > unrolled thread

[PATCH] ide: don't call memcpy with the same source and destination

Started byMikulas Patocka <mpatocka@redhat.com>
First post2017-04-14 20:40 +0200
Last post2017-04-18 13:00 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] ide: don't call memcpy with the same source and  destination Mikulas Patocka <mpatocka@redhat.com> - 2017-04-14 20:40 +0200
    Re: [PATCH] ide: don't call memcpy with the same source and destination Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> - 2017-04-18 13:00 +0200

#1623839 — [PATCH] ide: don't call memcpy with the same source and destination

FromMikulas Patocka <mpatocka@redhat.com>
Date2017-04-14 20:40 +0200
Subject[PATCH] ide: don't call memcpy with the same source and destination
Message-ID<tweiu-4wE-7@gated-at.bofh.it>
The parisc architecture recently reimplemented the memcpy function and
their reimplementation crashed when source and destination overlapped.

The crash happened in the function ide_complete_cmd where memcpy is called
with the same source and destination pointer. According to the C
specification, memcpy behavior is undefined if the source and destination
range overlaps. This patches fixes the undefined behavior.

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>

---
 drivers/ide/ide-io.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: linux-4.11-rc6/drivers/ide/ide-io.c
===================================================================
--- linux-4.11-rc6.orig/drivers/ide/ide-io.c
+++ linux-4.11-rc6/drivers/ide/ide-io.c
@@ -107,7 +107,7 @@ void ide_complete_cmd(ide_drive_t *drive
 
 		if (cmd->tf_flags & IDE_TFLAG_DYN)
 			kfree(orig_cmd);
-		else
+		else if (cmd != orig_cmd)
 			memcpy(orig_cmd, cmd, sizeof(*cmd));
 	}
 }

[toc] | [next] | [standalone]


#1625247 — Re: [PATCH] ide: don't call memcpy with the same source and destination

FromBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Date2017-04-18 13:00 +0200
SubjectRe: [PATCH] ide: don't call memcpy with the same source and destination
Message-ID<txz1v-5bl-1@gated-at.bofh.it>
In reply to#1623839
On Friday, April 14, 2017 02:35:33 PM Mikulas Patocka wrote:
> The parisc architecture recently reimplemented the memcpy function and
> their reimplementation crashed when source and destination overlapped.
> 
> The crash happened in the function ide_complete_cmd where memcpy is called
> with the same source and destination pointer. According to the C
> specification, memcpy behavior is undefined if the source and destination
> range overlaps. This patches fixes the undefined behavior.
> 
> Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>

Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web