Re: [PATCH v3 1/2] x86/purgatory: do not use __builtin_memcpy and __builtin_memset

From: Thomas Gleixner
Date: Wed Jul 24 2019 - 06:33:16 EST


On Tue, 23 Jul 2019, Nick Desaulniers wrote:
> Instead, reuse an implementation from arch/x86/boot/compressed/string.c
> if we define warn as a symbol. Also, Clang may lower memcmp's that
> compare against 0 to bcmp's, so add a small definition, too. See also:
> commit 5f074f3e192f ("lib/string.c: implement a basic bcmp")
>
> Cc: stable@xxxxxxxxxxxxxxx
> Fixes: 8fc5b4d4121c ("purgatory: core purgatory functionality")
> Link: https://bugs.chromium.org/p/chromium/issues/detail?id=984056
> Reported-by: Vaibhav Rustagi <vaibhavrustagi@xxxxxxxxxx>
> Debugged-by: Vaibhav Rustagi <vaibhavrustagi@xxxxxxxxxx>
> Debugged-by: Manoj Gupta <manojgupta@xxxxxxxxxx>
> Suggested-by: Alistair Delva <adelva@xxxxxxxxxx>
> Signed-off-by: Vaibhav Rustagi <vaibhavrustagi@xxxxxxxxxx>
> Signed-off-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx>

That SOB chain is weird. Is Vaibhav the author?

> +/*
> + * Clang may lower `memcmp == 0` to `bcmp == 0`.
> + */
> +int bcmp(const void *s1, const void *s2, size_t len) {
> + return memcmp(s1, s2, len);
> +}

foo()
{
}

please.

Thanks,

tglx