diff options
| author | Arnd Bergmann <arnd@arndb.de> | 2018-02-02 09:59:40 -0500 |
|---|---|---|
| committer | Jason Wessel <jason.wessel@windriver.com> | 2018-02-04 22:29:53 -0500 |
| commit | 2cf2f0d5b91fd1b06a6ae260462fc7945ea84add (patch) | |
| tree | c1fdfd0cd8967578b8e19ecc11ed3d7037f5e757 /kernel | |
| parent | 40b90efeae9be8702d387dbcbb3aadc57033d4db (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.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 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 | } |
