Re: [PATCH] x86/boot: Avoid redundant address overlap tests in memcpy().

From: Dave Hansen
Date: Mon Jan 24 2022 - 12:38:46 EST


On 1/22/22 17:58, Kuniyuki Iwashima wrote:
-void *memmove(void *dest, const void *src, size_t n)
+void *____memmove(void *dest, const void *src, size_t n)
{
unsigned char *d = dest;
const unsigned char *s = src;
- if (d <= s || d - s >= n)
- return ____memcpy(dest, src, n);
-
while (n-- > 0)
d[n] = s[n];
return dest;
}

The ___ naming is pretty cruel. Could we call it memmove_no_overlap() or memmove_unsafe()? Surely we can put some *useful* bytes in the name rather than padding it out with _'s. No need to perpetuate the ____memcpy() naming.

Also, is this worth the churn? It probably saves less than 10 instructions, all of which are ridiculously cheap. Is there a *reason* for this other than being a pure cleanup?