Skip to content

Commit 2cf2f0d

Browse files
arndbjwessel
authored andcommitted
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 <[email protected]> Signed-off-by: Jason Wessel <[email protected]>
1 parent 40b90ef commit 2cf2f0d

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

kernel/debug/kdb/kdb_support.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,13 +129,13 @@ int kdbnearsym(unsigned long addr, kdb_symtab_t *symtab)
129129
}
130130
if (i >= ARRAY_SIZE(kdb_name_table)) {
131131
debug_kfree(kdb_name_table[0]);
132-
memcpy(kdb_name_table, kdb_name_table+1,
132+
memmove(kdb_name_table, kdb_name_table+1,
133133
sizeof(kdb_name_table[0]) *
134134
(ARRAY_SIZE(kdb_name_table)-1));
135135
} else {
136136
debug_kfree(knt1);
137137
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,
139139
sizeof(kdb_name_table[0]) *
140140
(ARRAY_SIZE(kdb_name_table)-i-1));
141141
}

0 commit comments

Comments
 (0)