public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Michael Brown" <mcb30@ipxe.org>
To: devel@edk2.groups.io, mhaeuser@posteo.de,
	Laszlo Ersek <lersek@redhat.com>, Andrew Fish <afish@apple.com>,
	Michael Kinney <michael.d.kinney@intel.com>
Subject: Re: [edk2-devel] [GSoC proposal] Secure Image Loader
Date: Wed, 7 Apr 2021 22:05:27 +0100	[thread overview]
Message-ID: <a4e93ea3-bfe1-9a4c-ec44-52d74e4dd9dc@ipxe.org> (raw)
In-Reply-To: <c4e4ecc9-f4d2-f379-cbe9-2dee86f0cdb5@posteo.de>

On 05/04/2021 00:01, Marvin Häuser wrote:
> 3. During my initial exploration, I discovered defective PPIs and 
> protocols (e.g. returning data with no corresponding size) originating 
> from the UEFI PI and UEFI specifications. Changes need to be discussed, 
> settled on, and submitted to the UEFI Forum.

Would any of these changes break backwards compatibility?  With the UEFI 
development model, any protocol that has ever existed in the 
specification will practically need to always be supported in that form: 
breaking backwards compatibility is simply not an option.

For example: there is a fundamental design flaw in the LoadImage() and 
StartImage() API that makes it logically impossible for arbitrary code 
to install an EFI_LOADED_IMAGE_PROTOCOL instance (see 
https://github.com/ipxe/ProxyLoaderPkg/#why-is-it-needed for details on 
this).  But there's zero chance that this design flaw will ever be 
fixed, because there's no way to eliminate code that relies on the 
existing LoadImage()/StartImage() APIs.

So: if the formally verified image loader can fit within the constraints 
of "must not modify any externally exposed APIs" then it sounds like a 
potentially good idea.  If it requires breaking changes to public APIs 
then I don't see how it could be integrated in practice.

Thanks,

Michael

  parent reply	other threads:[~2021-04-07 21:05 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-04 23:01 [GSoC proposal] Secure Image Loader Marvin Häuser
2021-04-06  9:41 ` [edk2-devel] " Nate DeSimone
2021-04-06 10:06   ` Marvin Häuser
2021-04-06 16:16     ` [EXTERNAL] " Bret Barkelew
2021-04-08 11:16     ` Laszlo Ersek
2021-04-08 14:13       ` Andrew Fish
2021-04-08 16:06         ` Marvin Häuser
2021-04-08 16:44           ` Andrew Fish
2021-04-08 17:02             ` Marvin Häuser
2021-04-08 17:39               ` Andrew Fish
2021-04-08 21:07                 ` Marvin Häuser
2021-04-08 21:48                   ` Andrew Fish
2021-04-08 22:42                   ` Michael Brown
2021-04-12 17:22   ` Marvin Häuser
2021-04-12 18:30     ` [EXTERNAL] " Bret Barkelew
2021-04-13  0:19     ` Michael D Kinney
2021-04-13  0:56       ` Nate DeSimone
2021-04-13  7:31         ` Marvin Häuser
2021-04-13 15:05           ` Andrew Fish
2021-04-13 18:04           ` Nate DeSimone
2021-04-13 18:08             ` Michael D Kinney
2021-04-13 18:14             ` Andrew Fish
2021-04-16  7:36               ` Marvin Häuser
2021-04-07 21:05 ` Michael Brown [this message]
2021-04-07 21:31   ` Marvin Häuser
2021-04-07 21:50     ` Michael Brown
2021-04-07 22:02       ` Andrew Fish
     [not found]       ` <1673B28429E5B4FE.4742@groups.io>
2021-04-07 22:10         ` Andrew Fish
2021-04-08  9:04           ` Marvin Häuser
2021-04-08  9:40             ` Michael Brown
2021-04-08  8:53       ` Marvin Häuser
2021-04-08  9:26         ` Michael Brown
2021-04-08  9:41           ` Marvin Häuser
2021-04-08  9:50             ` Marvin Häuser
2021-04-08  9:55             ` Michael Brown
2021-04-08 10:13               ` Marvin Häuser
2021-04-08 10:31                 ` Michael Brown

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-list 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=a4e93ea3-bfe1-9a4c-ec44-52d74e4dd9dc@ipxe.org \
    --to=devel@edk2.groups.io \
    /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