From: Tom Rini <trini@konsulko.com>
To: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Cc: Ard Biesheuvel <ardb@kernel.org>,
Adriana Nicolae <adriana@arista.com>,
Rob Herring <robh@kernel.org>,
krzk@kernel.org, jdelvare@suse.com, frowand.list@gmail.com,
linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
vasilykh@arista.com, arm.ebbr-discuss@arm.com,
boot-architecture@lists.linaro.org, linux-efi@vger.kernel.org,
uefi-discuss@lists.uefi.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v2 0/2] DMI: Scan for DMI table from DTS info
Date: Fri, 24 Oct 2025 12:07:46 -0600 [thread overview]
Message-ID: <20251024180746.GT6688@bill-the-cat> (raw)
In-Reply-To: <CAC_iWjKQ5Smx5hOM9Lgyq_KD6D7OXyDsfJ4mcEnfw4JuRtxy-g@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 5083 bytes --]
On Fri, Oct 24, 2025 at 02:07:43PM +0300, Ilias Apalodimas wrote:
> Hi Ard, Adriana
>
> Thanks for cc'ing me.
>
> On Fri, 24 Oct 2025 at 12:49, Ard Biesheuvel <ardb@kernel.org> wrote:
> >
> > On Thu, 23 Oct 2025 at 16:48, Adriana Nicolae <adriana@arista.com> wrote:
> > >
> > > On Thu, Oct 23, 2025 at 4:54 PM Ard Biesheuvel <ardb@kernel.org> wrote:
> > > >
> > > > (cc Ilias)
> > > >
> > > > On Thu, 23 Oct 2025 at 15:34, Adriana Nicolae <adriana@arista.com> wrote:
> > > > >
> > > > > On Thu, Oct 23, 2025 at 11:21 AM Ard Biesheuvel <ardb@kernel.org> wrote:
> > > > > >
> > > > > > On Thu, 23 Oct 2025 at 04:21, Adriana Nicolae <adriana@arista.com> wrote:
> > > > > > >
> > > > > > > On Wed, Oct 22, 2025 at 11:19 PM Rob Herring <robh@kernel.org> wrote:
> > > > > > > >
> > > > > > > > On Wed, Oct 22, 2025 at 04:45:25AM -0700, adriana wrote:
> > > > > > > > > Some bootloaders like U-boot, particularly for the ARM architecture,
> > > > > > > > > provide SMBIOS/DMI tables at a specific memory address. However, these
> > > > > > > > > systems often do not boot using a full UEFI environment, which means the
> > > > > > > > > kernel's standard EFI DMI scanner cannot find these tables.
> > > > > > > >
> > > > > > > > I thought u-boot is a pretty complete UEFI implementation now. If
> > > > > > > > there's standard way for UEFI to provide this, then that's what we
> > > > > > > > should be using. I know supporting this has been discussed in context of
> > > > > > > > EBBR spec, but no one involved in that has been CC'ed here.
> > > > > > >
> > > > > > > Regarding the use of UEFI, the non UEFI boot is used on Broadcom iProc which
> > > > > > > boots initially into a Hardware Security Module which validates U-boot and then
> > > > > > > loads it. This specific path does not utilize U-Boot's UEFI
> > > > > > > implementation or the
> > > > > > > standard UEFI boot services to pass tables like SMBIOS.
> > > > > > >
> > > > > >
> > > > > > What prevents this HSM validated copy of u-boot from loading the kernel via EFI?
> > > > > The vendor's U-Boot configuration for this specific secure boot path
> > > > > (involving the
> > > > > HSM) explicitly disables the CMD_BOOTEFI option due to security
> > > > > mitigations, only
> > > > > a subset of U-boot commands are whitelisted. We could patch the U-boot
> > > > > to include
> > > > > that but it is preferable to follow the vendor's recommandations and
> > > > > just patch U-boot
> > > > > to fill that memory location with SMBIOS address or directly with the
> > > > > entry point.
> > > >
> > > > And what security mitigations are deemed needed for the EFI code? You
> > > > are aware that avoiding EFI boot means that the booting kernel keeps
> > > > all memory protections disabled for longer than it would otherwise. Is
> > > > this allowlisting based on simply minimizing the code footprint?
> > > >
> > > From the information I have, it might be just minimizing the footprint
> > > but the vendor's U-Boot configuration for this specific path
> > > explicitly disables the CMD_BOOTEFI option. While the vendor cites
> > > security mitigations for this configuration, the specific details
> > > could be a set of mitigation removing different boot methods and some
> > > memory access commands.
> > >
> > > The core issue is that this non-EFI boot path is the vendor-validated
> > > configuration. Enabling EFI would deviate from this setup, require
> > > significant revalidation, and could impact vendor support. Modifying
> > > U-Boot to populate the DT is a contained change without modifying the
> > > U-boot vendor configuration.
> > >
> >
> > I'm not sure I follow why changing U-Boot's code would not require
> > revalidation if simply changing its build configuration without
> > modifying the source code would require that.
> >
> > > Beyond our specific vendor constraints, this DT method might be used
> > > by any other non-UEFI arm system needing to expose SMBIOS tables to
> > > the kernel.
> > >
> >
> > Fair point. So let's do this properly: get buy-in from the U-Boot
> > folks and contribute your u-boot changes as well. And ideally, we'd
> > get this into the DMTF spec but if you are not set up for that (I
> > think you might need to be a member to be able to contribute), we can
> > find some ARM folks who are.
>
> +1
> U-Boot does offer an EFI implementation indeed, but we can't magically
> force people to use it.
> The problem with SMBIOS is that afaict is still widely used by various
> debugging tools, so we might as well support it.
> I agree with Ard here. I think the best thing we can do is
> - Make the node standard in the DT spec, so everyone gets a reference
> - Gatekeep any alternative implementations for the kernel until
> someone gets this into the DMTF spec as well
> - Send a patch to U-Boot that adds that mode dynamically if booting is
> !EFI and SMIOS support is enabled
This sounds like a good plan to me, from the U-Boot side of things.
--
Tom
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
next prev parent reply other threads:[~2025-10-24 18:07 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-22 8:21 [PATCH 1/1] DMI: Scan for DMI table from DTS info adriana
2025-10-22 9:56 ` Krzysztof Kozlowski
2025-10-22 11:45 ` [PATCH v2 0/2] " adriana
2025-10-22 11:45 ` [PATCH v2 1/2] dt-bindings: firmware: Add binding for SMBIOS /chosen properties adriana
2025-10-22 11:45 ` [PATCH v2 2/2] drivers: firmware: dmi_scan: Add support for reading SMBIOS from DT adriana
2025-10-22 20:19 ` [PATCH v2 0/2] DMI: Scan for DMI table from DTS info Rob Herring
2025-10-23 2:20 ` Adriana Nicolae
2025-10-23 8:21 ` Ard Biesheuvel
2025-10-23 13:34 ` Adriana Nicolae
2025-10-23 13:53 ` Ard Biesheuvel
2025-10-23 14:47 ` Adriana Nicolae
2025-10-24 9:49 ` Ard Biesheuvel
2025-10-24 11:07 ` Ilias Apalodimas
2025-10-24 18:07 ` Tom Rini [this message]
2025-10-31 8:51 ` Adriana Nicolae
2025-10-31 8:40 ` [PATCH v3 " adriana
2025-10-31 8:41 ` [PATCH v3 1/2] dt-bindings: firmware: Add binding for SMBIOS /chosen properties adriana
2025-10-31 8:52 ` Ard Biesheuvel
2025-10-31 9:05 ` Ard Biesheuvel
2025-10-31 8:41 ` [PATCH v3 2/2] drivers: firmware: dmi_scan: Add support for reading SMBIOS from DT adriana
2025-10-31 9:05 ` Ard Biesheuvel
2025-10-31 9:31 ` Ilias Apalodimas
2025-10-31 10:10 ` [PATCH v4 0/2] DMI: Scan for DMI table from DTS info adriana
2025-10-31 10:10 ` [PATCH v4 1/2] dt-bindings: firmware: Add binding for SMBIOS /chosen properties adriana
2025-10-31 11:15 ` Rob Herring
2025-10-31 11:43 ` Rob Herring
2025-10-31 12:31 ` Adriana Nicolae
2025-10-31 10:10 ` [PATCH v4 2/2] drivers: firmware: dmi_scan: Add support for reading SMBIOS from DT adriana
2025-10-31 10:17 ` [PATCH v4 0/2] DMI: Scan for DMI table from DTS info Ard Biesheuvel
2025-10-31 11:03 ` Ilias Apalodimas
2025-10-31 11:59 ` [PATCH v5 0/1] " adriana
2025-10-31 11:59 ` [PATCH v5 1/1] drivers: firmware: dmi_scan: Add support for reading SMBIOS from DT adriana
2025-10-31 14:19 ` [PATCH v5 0/1] DMI: Scan for DMI table from DTS info Conor Dooley
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=20251024180746.GT6688@bill-the-cat \
--to=trini@konsulko.com \
--cc=adriana@arista.com \
--cc=ardb@kernel.org \
--cc=arm.ebbr-discuss@arm.com \
--cc=boot-architecture@lists.linaro.org \
--cc=devicetree@vger.kernel.org \
--cc=frowand.list@gmail.com \
--cc=ilias.apalodimas@linaro.org \
--cc=jdelvare@suse.com \
--cc=krzk@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-efi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=robh@kernel.org \
--cc=uefi-discuss@lists.uefi.org \
--cc=vasilykh@arista.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).