Add src and dst address checking, if they
are the same address, just return and don't
copy data anymore.
Signed-off-by: Rick Chen <r...@andestech.com>
---
Changes in v3
- new patch: separate from [1/2]
---
 arch/riscv/lib/memcpy.S | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/riscv/lib/memcpy.S b/arch/riscv/lib/memcpy.S
index 00672c19ad..9884077c93 100644
--- a/arch/riscv/lib/memcpy.S
+++ b/arch/riscv/lib/memcpy.S
@@ -9,6 +9,7 @@
 /* void *memcpy(void *, const void *, size_t) */
 ENTRY(__memcpy)
 WEAK(memcpy)
+       beq     a0, a1, .copy_end
        /* Save for return value */
        mv      t6, a0
 
@@ -121,6 +122,7 @@ WEAK(memcpy)
 2:
 
        mv      a0, t6
+.copy_end:
        ret
 
 .Lmisaligned_word_copy:
-- 
2.17.1

Reply via email to