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:08 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 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.