Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752007AbbH1G1v (ORCPT ); Fri, 28 Aug 2015 02:27:51 -0400 Received: from mail-wi0-f171.google.com ([209.85.212.171]:38724 "EHLO mail-wi0-f171.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751418AbbH1G1u (ORCPT ); Fri, 28 Aug 2015 02:27:50 -0400 Date: Fri, 28 Aug 2015 08:27:45 +0200 From: Ingo Molnar To: Andrey Ryabinin Cc: Will Deacon , Catalin Marinas , linux-arm-kernel@lists.infradead.org, Matt Fleming , linux-efi@vger.kernel.org, Linus Walleij , Alexander Potapenko , Dmitry Vyukov , Arnd Bergmann , linux-kernel@vger.kernel.org, Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , "maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT)" Subject: Re: [PATCH 1/4] x86, efi, kasan: #undef memset/memcpy/memmove per arch. Message-ID: <20150828062745.GB1928@gmail.com> References: <1440605707-8325-1-git-send-email-ryabinin.a.a@gmail.com> <1440605707-8325-2-git-send-email-ryabinin.a.a@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1440605707-8325-2-git-send-email-ryabinin.a.a@gmail.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1836 Lines: 73 * Andrey Ryabinin wrote: > In not-instrumented code KASAN replaces instrumented > memset/memcpy/memmove with not-instrumented analogues > __memset/__memcpy/__memove. > However, on x86 EFI stub is not linked with kernel. s/with the kernel > It uses not-instrumented mem*() functions from > arch/x86/boot/compressed/string.c > So we don't replace them with __mem*() variants in EFI stub. > > In ARM64 EFI stub is linked with the kernel, so we should s/In ARM64 EFI stub/On ARM64 the EFI stub/. > replace mem*() functions with __mem*(), because EFI stub s/the EFI stub > runs before KASAN setup early shadow. s/before KASAN sets up the early shadow ? > So let's move these #undef mem* into arch's asm/efi.h which is s/lets > also included by EFI stub. s/by the EFI stub > > Signed-off-by: Andrey Ryabinin > --- > arch/x86/include/asm/efi.h | 8 ++++++++ > drivers/firmware/efi/libstub/efistub.h | 4 ---- > 2 files changed, 8 insertions(+), 4 deletions(-) > > diff --git a/arch/x86/include/asm/efi.h b/arch/x86/include/asm/efi.h > index 155162e..d821ce2 100644 > --- a/arch/x86/include/asm/efi.h > +++ b/arch/x86/include/asm/efi.h > @@ -25,6 +25,14 @@ > #define EFI32_LOADER_SIGNATURE "EL32" > #define EFI64_LOADER_SIGNATURE "EL64" > > +/* > + * Use memcpy/memset from arch/x86/boot/compressed/string.c > + * for EFI stub. > + */ > +#undef memcpy > +#undef memset > +#undef memmove This comment should also mention why it's done, not what is done. Also: s/for EFI stub/for the EFI stub Thanks, Ingo -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/