aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2018-02-02 09:59:40 -0500
committerJason Wessel <jason.wessel@windriver.com>2018-02-04 22:29:53 -0500
commit2cf2f0d5b91fd1b06a6ae260462fc7945ea84add (patch)
treec1fdfd0cd8967578b8e19ecc11ed3d7037f5e757 /kernel
parent40b90efeae9be8702d387dbcbb3aadc57033d4db (diff)
kdb: use memmove instead of overlapping memcpy
gcc discovered that the memcpy() arguments in kdbnearsym() overlap, so we should really use memmove(), which is defined to handle that correctly: In function 'memcpy', inlined from 'kdbnearsym' at /git/arm-soc/kernel/debug/kdb/kdb_support.c:132:4: /git/arm-soc/include/linux/string.h:353:9: error: '__builtin_memcpy' accessing 792 bytes at offsets 0 and 8 overlaps 784 bytes at offset 8 [-Werror=restrict] return __builtin_memcpy(p, q, size); Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/debug/kdb/kdb_support.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/debug/kdb/kdb_support.c b/kernel/debug/kdb/kdb_support.c
index d35cc2d3a4cc..990b3cc526c8 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)
129 } 129 }
130 if (i >= ARRAY_SIZE(kdb_name_table)) { 130 if (i >= ARRAY_SIZE(kdb_name_table)) {
131 debug_kfree(kdb_name_table[0]); 131 debug_kfree(kdb_name_table[0]);
132 memcpy(kdb_name_table, kdb_name_table+1, 132 memmove(kdb_name_table, kdb_name_table+1,
133 sizeof(kdb_name_table[0]) * 133 sizeof(kdb_name_table[0]) *
134 (ARRAY_SIZE(kdb_name_table)-1)); 134 (ARRAY_SIZE(kdb_name_table)-1));
135 } else { 135 } else {
136 debug_kfree(knt1); 136 debug_kfree(knt1);
137 knt1 = kdb_name_table[i]; 137 knt1 = kdb_name_table[i];
138 memcpy(kdb_name_table+i, kdb_name_table+i+1, 138 memmove(kdb_name_table+i, kdb_name_table+i+1,
139 sizeof(kdb_name_table[0]) * 139 sizeof(kdb_name_table[0]) *
140 (ARRAY_SIZE(kdb_name_table)-i-1)); 140 (ARRAY_SIZE(kdb_name_table)-i-1));
141 } 141 }