linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] kernel: debug: memcpy overlaped, use memmove instead of memcpy.
@ 2013-04-07 10:24 Chen Gang
  2013-04-17  9:42 ` Chen Gang
  0 siblings, 1 reply; 2+ messages in thread
From: Chen Gang @ 2013-04-07 10:24 UTC (permalink / raw)
  To: jason.wessel; +Cc: kgdb-bugreport, linux-kernel


  in memcpy, src and dest are overlaped.
    for default implementaion or some architectures, it is OK.
    but we can not be sure that it is OK for all platforms.
    and in this condition, the performance are not quite important.

  so better to use standard ways: let memmove instead of memcpy.

Signed-off-by: Chen Gang <gang.chen@asianux.com>
---
 kernel/debug/kdb/kdb_support.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/kernel/debug/kdb/kdb_support.c b/kernel/debug/kdb/kdb_support.c
index d35cc2d..990b3cc 100644
--- a/kernel/debug/kdb/kdb_support.c
+++ b/kernel/debug/kdb/kdb_support.c
@@ -129,13 +129,13 @@ int kdbnearsym(unsigned long addr, kdb_symtab_t *symtab)
 		}
 		if (i >= ARRAY_SIZE(kdb_name_table)) {
 			debug_kfree(kdb_name_table[0]);
-			memcpy(kdb_name_table, kdb_name_table+1,
+			memmove(kdb_name_table, kdb_name_table+1,
 			       sizeof(kdb_name_table[0]) *
 			       (ARRAY_SIZE(kdb_name_table)-1));
 		} else {
 			debug_kfree(knt1);
 			knt1 = kdb_name_table[i];
-			memcpy(kdb_name_table+i, kdb_name_table+i+1,
+			memmove(kdb_name_table+i, kdb_name_table+i+1,
 			       sizeof(kdb_name_table[0]) *
 			       (ARRAY_SIZE(kdb_name_table)-i-1));
 		}
-- 
1.7.7.6

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] kernel: debug: memcpy overlaped, use memmove instead of memcpy.
  2013-04-07 10:24 [PATCH] kernel: debug: memcpy overlaped, use memmove instead of memcpy Chen Gang
@ 2013-04-17  9:42 ` Chen Gang
  0 siblings, 0 replies; 2+ messages in thread
From: Chen Gang @ 2013-04-17  9:42 UTC (permalink / raw)
  To: jason.wessel; +Cc: kgdb-bugreport, linux-kernel

Hello maintainers:

  please help check this patch, when you have time, thanks.


On 2013年04月07日 18:24, Chen Gang wrote:
> 
>   in memcpy, src and dest are overlaped.
>     for default implementaion or some architectures, it is OK.
>     but we can not be sure that it is OK for all platforms.
>     and in this condition, the performance are not quite important.
> 
>   so better to use standard ways: let memmove instead of memcpy.
> 
> Signed-off-by: Chen Gang <gang.chen@asianux.com>
> ---
>  kernel/debug/kdb/kdb_support.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/kernel/debug/kdb/kdb_support.c b/kernel/debug/kdb/kdb_support.c
> index d35cc2d..990b3cc 100644
> --- a/kernel/debug/kdb/kdb_support.c
> +++ b/kernel/debug/kdb/kdb_support.c
> @@ -129,13 +129,13 @@ int kdbnearsym(unsigned long addr, kdb_symtab_t *symtab)
>  		}
>  		if (i >= ARRAY_SIZE(kdb_name_table)) {
>  			debug_kfree(kdb_name_table[0]);
> -			memcpy(kdb_name_table, kdb_name_table+1,
> +			memmove(kdb_name_table, kdb_name_table+1,
>  			       sizeof(kdb_name_table[0]) *
>  			       (ARRAY_SIZE(kdb_name_table)-1));
>  		} else {
>  			debug_kfree(knt1);
>  			knt1 = kdb_name_table[i];
> -			memcpy(kdb_name_table+i, kdb_name_table+i+1,
> +			memmove(kdb_name_table+i, kdb_name_table+i+1,
>  			       sizeof(kdb_name_table[0]) *
>  			       (ARRAY_SIZE(kdb_name_table)-i-1));
>  		}
> 


-- 
Chen Gang

Asianux Corporation

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2013-04-17  9:43 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-04-07 10:24 [PATCH] kernel: debug: memcpy overlaped, use memmove instead of memcpy Chen Gang
2013-04-17  9:42 ` Chen Gang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).