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

From: Vaibhav Rustagi
Date: Wed Jul 24 2019 - 16:56:01 EST


On Wed, Jul 24, 2019 at 3:33 AM Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
>
> 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?
>
No, Nick Desaulniers is the author of v3.

> > +/*
> > + * 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
Thanks,
Vaibhav