All of lore.kernel.org
 help / color / mirror / Atom feed
From: Catalin Marinas <catalin.marinas@arm.com>
To: Ard Biesheuvel <ardb@kernel.org>
Cc: linux-efi@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org,
	"James E.J. Bottomley" <James.Bottomley@hansenpartnership.com>,
	Matthew Garrett <mjg59@srcf.ucam.org>,
	Peter Jones <pjones@redhat.com>,
	Ilias Apalodimas <ilias.apalodimas@linaro.org>,
	Heinrich Schuchardt <heinrich.schuchardt@canonical.com>,
	AKASHI Takahiro <takahiro.akashi@linaro.org>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Atish Patra <atishp@atishpatra.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Huacai Chen <chenhuacai@loongson.cn>,
	Xi Ruoyao <xry111@xry111.site>,
	Lennart Poettering <lennart@poettering.net>,
	Jeremy Linton <jeremy.linton@arm.com>,
	Will Deacon <will@kernel.org>
Subject: Re: [PATCH v5 3/8] efi/libstub: use EFI provided memcpy/memset routines
Date: Tue, 20 Sep 2022 10:54:21 +0100	[thread overview]
Message-ID: <YymNzUoGGOKu1e1d@arm.com> (raw)
In-Reply-To: <20220910081152.2238369-4-ardb@kernel.org>

On Sat, Sep 10, 2022 at 10:11:47AM +0200, Ard Biesheuvel wrote:
> The stub is used in different execution environments, but on arm64,
> RISC-V and LoongArch, we still use the core kernel's implementation of
> memcpy and memset, as they are just a branch instruction away, and can
> generally be reused even from code such as the EFI stub that runs in a
> completely different address space.
> 
> KAsan complicates this slightly, resulting in the need for some hacks to
> expose the uninstrumented, __ prefixed versions as the normal ones, as
> the latter are instrumented to include the KAsan checks, which only work
> in the core kernel.
> 
> Unfortunately, #define'ing memcpy to __memcpy when building C code does
> not guarantee that no explicit memcpy() calls will be emitted. And with
> the upcoming zboot support, which consists of a separate binary which
> therefore needs its own implementation of memcpy/memset anyway, it's
> better to provide one explicitly instead of linking to the existing one.
> 
> Given that EFI exposes implementations of memmove() and memset() via the
> boot services table, let's wire those up in the appropriate way, and
> drop the references to the core kernel ones.
> 
> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
> ---
>  arch/arm64/kernel/image-vars.h            | 13 ---------

Acked-by: Catalin Marinas <catalin.marinas@arm.com>

WARNING: multiple messages have this Message-ID (diff)
From: Catalin Marinas <catalin.marinas@arm.com>
To: Ard Biesheuvel <ardb@kernel.org>
Cc: linux-efi@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org,
	"James E.J. Bottomley" <James.Bottomley@hansenpartnership.com>,
	Matthew Garrett <mjg59@srcf.ucam.org>,
	Peter Jones <pjones@redhat.com>,
	Ilias Apalodimas <ilias.apalodimas@linaro.org>,
	Heinrich Schuchardt <heinrich.schuchardt@canonical.com>,
	AKASHI Takahiro <takahiro.akashi@linaro.org>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Atish Patra <atishp@atishpatra.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Huacai Chen <chenhuacai@loongson.cn>,
	Xi Ruoyao <xry111@xry111.site>,
	Lennart Poettering <lennart@poettering.net>,
	Jeremy Linton <jeremy.linton@arm.com>,
	Will Deacon <will@kernel.org>
Subject: Re: [PATCH v5 3/8] efi/libstub: use EFI provided memcpy/memset routines
Date: Tue, 20 Sep 2022 10:54:21 +0100	[thread overview]
Message-ID: <YymNzUoGGOKu1e1d@arm.com> (raw)
In-Reply-To: <20220910081152.2238369-4-ardb@kernel.org>

On Sat, Sep 10, 2022 at 10:11:47AM +0200, Ard Biesheuvel wrote:
> The stub is used in different execution environments, but on arm64,
> RISC-V and LoongArch, we still use the core kernel's implementation of
> memcpy and memset, as they are just a branch instruction away, and can
> generally be reused even from code such as the EFI stub that runs in a
> completely different address space.
> 
> KAsan complicates this slightly, resulting in the need for some hacks to
> expose the uninstrumented, __ prefixed versions as the normal ones, as
> the latter are instrumented to include the KAsan checks, which only work
> in the core kernel.
> 
> Unfortunately, #define'ing memcpy to __memcpy when building C code does
> not guarantee that no explicit memcpy() calls will be emitted. And with
> the upcoming zboot support, which consists of a separate binary which
> therefore needs its own implementation of memcpy/memset anyway, it's
> better to provide one explicitly instead of linking to the existing one.
> 
> Given that EFI exposes implementations of memmove() and memset() via the
> boot services table, let's wire those up in the appropriate way, and
> drop the references to the core kernel ones.
> 
> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
> ---
>  arch/arm64/kernel/image-vars.h            | 13 ---------

Acked-by: Catalin Marinas <catalin.marinas@arm.com>

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2022-09-20  9:54 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-10  8:11 [PATCH v5 0/8] efi: implement generic compressed boot support Ard Biesheuvel
2022-09-10  8:11 ` Ard Biesheuvel
2022-09-10  8:11 ` [PATCH v5 1/8] efi: name the ARCH-stub.c files uniformly Ard Biesheuvel
2022-09-10  8:11   ` Ard Biesheuvel
2022-09-10  8:11 ` [PATCH v5 2/8] efi/libstub: add some missing EFI prototypes Ard Biesheuvel
2022-09-10  8:11   ` Ard Biesheuvel
2022-09-10  8:11 ` [PATCH v5 3/8] efi/libstub: use EFI provided memcpy/memset routines Ard Biesheuvel
2022-09-10  8:11   ` Ard Biesheuvel
2022-09-20  9:54   ` Catalin Marinas [this message]
2022-09-20  9:54     ` Catalin Marinas
2022-09-10  8:11 ` [PATCH v5 4/8] efi/libstub: move efi_system_table global var into separate object Ard Biesheuvel
2022-09-10  8:11   ` Ard Biesheuvel
2022-09-10  8:11 ` [PATCH v5 5/8] efi/libstub: implement generic EFI zboot Ard Biesheuvel
2022-09-10  8:11   ` Ard Biesheuvel
2022-09-10  8:11 ` [PATCH v5 6/8] arm64: efi: enable generic EFI compressed boot Ard Biesheuvel
2022-09-10  8:11   ` Ard Biesheuvel
2022-09-17 16:36   ` Ard Biesheuvel
2022-09-17 16:36     ` Ard Biesheuvel
2022-09-20  9:55     ` Catalin Marinas
2022-09-20  9:55       ` Catalin Marinas
2022-09-10  8:11 ` [PATCH v5 7/8] riscv: " Ard Biesheuvel
2022-09-10  8:11   ` Ard Biesheuvel
2022-09-16  7:09   ` Conor.Dooley
2022-09-16  7:09     ` Conor.Dooley
2022-09-16  7:15     ` Ard Biesheuvel
2022-09-16  7:15       ` Ard Biesheuvel
2022-09-10  8:11 ` [PATCH v5 8/8] loongarch: " Ard Biesheuvel
2022-09-10  8:11   ` Ard Biesheuvel
2022-09-10 14:21   ` 陈华才
2022-09-10 14:21     ` 陈华才
2022-09-10 14:28     ` Ard Biesheuvel
2022-09-10 14:28       ` Ard Biesheuvel
2022-09-11 15:02       ` 陈华才
2022-09-11 15:02         ` 陈华才
2022-09-12 10:18         ` Ard Biesheuvel
2022-09-12 10:18           ` Ard Biesheuvel
2022-09-12 14:45           ` 陈华才
2022-09-12 14:45             ` 陈华才
2022-09-19  2:22 ` [PATCH v5 0/8] efi: implement generic compressed boot support Jeremy Linton
2022-09-19  2:22   ` Jeremy Linton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YymNzUoGGOKu1e1d@arm.com \
    --to=catalin.marinas@arm.com \
    --cc=James.Bottomley@hansenpartnership.com \
    --cc=ardb@kernel.org \
    --cc=arnd@arndb.de \
    --cc=atishp@atishpatra.org \
    --cc=chenhuacai@loongson.cn \
    --cc=heinrich.schuchardt@canonical.com \
    --cc=ilias.apalodimas@linaro.org \
    --cc=jeremy.linton@arm.com \
    --cc=lennart@poettering.net \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-efi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mjg59@srcf.ucam.org \
    --cc=palmer@dabbelt.com \
    --cc=pjones@redhat.com \
    --cc=takahiro.akashi@linaro.org \
    --cc=will@kernel.org \
    --cc=xry111@xry111.site \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.