i understand now, thank you for clarifying! I'm on board and I'll get to
work on a more complete plan as soon as possible. i can probably have a
draft proposal done by EOD Saturday. i know it's a holiday weekend, so i
don't expect anybody to hop to (pun intended) to critique :)

On Wed, Apr 13, 2022, 22:57 Nate DeSimone <nathaniel.l.desim...@intel.com>
wrote:

> Hi All,
>
> Pedro is 100% correct. The primary use case and the reason I added this is
> to remove library duplication across all the .efi files. This is actually
> super valuable because LZMA compression is becoming ineffective because
> compiler optimization is getting so good that the patterns for a library
> across binaries don’t match very well anymore. For XIP PEI code… it will
> really help and would be very timely since the transition of PEI from
> 32-bit to 64-bit is going to increase the size of PEI by ~20%.
>
> Thanks,
> Nate
>
> From: Pedro Falcato <pedro.falc...@gmail.com>
> Sent: Wednesday, April 13, 2022 11:43 AM
> To: edk2-devel-groups-io <devel@edk2.groups.io>; Marvin Häuser <
> mhaeu...@posteo.de>
> Cc: disc...@edk2.groups.io; adachristin...@gmail.com; Desimone, Nathaniel
> L <nathaniel.l.desim...@intel.com>; Shi, Steven <steven....@intel.com>
> Subject: Re: [edk2-devel] [edk2-discuss] GSoC Proposal
>
> Hi Marvin, Ada,
>
> Some comments:
>
> I don't think the purpose of the dynamic linker is to treat EFI as a
> complete operating system, but to try to eliminate the static linking that
> may be needlessly duplicating
> code that could instead be put in a single dynamic library. For instance,
> MdePkg and MdeModulePkg are linked into a *lot* of .efi, instead of being
> just a library. It'd be nice to see some
> numbers on this (something like Google's bloaty could be run on every .efi
> file, in order to understand how much file space we would actually save).
>
> Other comments inline.
>
> On Wed, Apr 13, 2022 at 4:15 PM Marvin Häuser <mhaeu...@posteo.de<mailto:
> mhaeu...@posteo.de>> wrote:
>
> On 13. Apr 2022, at 16:38, Ada Christine <adachristin...@gmail.com<mailto:
> adachristin...@gmail.com>> wrote:
> i was replying via the groups.io<http://groups.io> web interface, I'm
> guessing that messed up
> the thread? i haven't used mailing lists before and don't know how they
> work. I'll use my mail client from here on.
>
> I'm on board with not treating EFI as an operating system. the more i think
> about it the more it looks like scope creep.
>
> Agreed.
>
>
> I'm not quite as enthusiastic
> about it as i was at first glance.
>
> I'm still keen on doing my gsoc proposal for edk, though, and even if this
> task and the acpica application are decided to be out of scope unit
> testing,
>
> How about fuzz-testing? This is also something edk2 needs quite badly. At
> Acidanthera, we compile edk2 code in userspace outside the edk2 build
> system and fuzz with dummy applications.
>
> Note: fuzzing is also part of the LLVM instrumentation suite (see
> https://llvm.org/docs/LibFuzzer.html) and is something I could happily
> mentor.
> clang integration
>
> Pedro and Vitaly are looking for someone to finish ASan:
> https://edk2.groups.io/g/devel/topic/90010978#87991
> There are working UBSan concepts, but they also need to be mainlined.
>
> Is Vitaly going to be a mentor? I was assuming it was going to be me and
> some other, more senior, mentor (possibly Steven Shi, which I included in
> the task).
> Anyway, re: ASAN, if the project includes ASAN, UBSAN and possibly some
> other sanitizer it's quite possible that it could be considered a large
> project (which means more hours but a larger stipend too). Fuzzing +
> coverage could
> be very nice additions to this project idea.
> Also, is stress-testing a decent idea?
>
>
> and source-level debugging are all relevant to
> my interests.
>
> how about your ideas for security stuff?
>
> I want the entirety of MM to leverage SmmMemLib and to support SMAP.
> SmmMemLib would then handle UEFI->MMRAM and BaseMemoryLib would only work
> on MMRAM. Also evaluation of how to best avoid pointers in MM communication
> buffers would be nice.
>
> There also is a bunch of other stuff, like working out moving a part of
> CpuDxe into DxeCore to have memory protection live immediately, memory
> protection in PEI, a replacement for the TE format (it’s buggy and most
> platforms mostly abandoned it over various issues), and alternatives to
> guarding critical code with SMM (like allowing NVRAM commits only as part
> of a reboot).
>
> I personally find all of those projects very important, but I cannot
> promise many people agree. Especially those that impose global changes
> (most notably the TE replacement) may be very tedious to submit. Gladly, I
> believe you can submit multiple proposals (?)
>
> Best regards,
> Marvin
>
>
> I'm not very knowledgeable about
> trusted platform or secure boot but I'm willing to learn whatever is
> necessary to get something spun up for my proposal.
>
> On Wed, Apr 13, 2022, 12:05 Marvin Häuser <mhaeu...@posteo.de<mailto:
> mhaeu...@posteo.de>> wrote:
>
>
> Do you use the “reply all” option in your mail client? Looks like my CCs
> have been dropped again. Comments inline.
>
> On 13. Apr 2022, at 12:54, Ada Christine <adachristin...@gmail.com<mailto:
> adachristin...@gmail.com>>
> wrote:
> Hi, Marvin
>
> Its similarity to my own latest experiment is the key to what grabbed my
> attention. I have no particular use case in mind for it, but I see its
> potential for anybody developing larger applications in that when a library
> is changed there's no need to distribute a new version of the whole binary,
> just the relevant library module.
>
> I really do not like the trend of treating UEFI as a full-fledged OS - it
> is not. The most used UEFI applications, OS loaders, are really not that
> huge and are distributed as part of the OS image anyway. Even for less used
> applications, you will always get a full snapshot anyhow. Gladly we don’t
> have auto-update and package management yet. :)
>
>
> I slept on it and it occurred to me that the whole thing could operate
> similarly to the shell protocol in that the linker/loader is itself an
> application that does a LoadImage() on the application needing dynamic
> linking facilities.
>
> That would mean the linker itself is shipped with every application that
> requires it? Otherwise it doesn’t make much sense for it to be an app and
> below’s problems apply.
>
> If however the whole plan is making the linker as a DXE and including it
> with the firmware, that I'm not quite as sure about. That would necessarily
> tie any applications using dynamic linking to TianoCore or any firmware
> distribution that derives from it.
>
> I think that was the idea referred to as “edk2 core” by Steven, but I’d
> like to hear his proposal to be sure. Virtually everyone uses edk2, so that
> itself is not the problem, but versioning is. Vendors are slow to update
> their snapshots or have just given up doing that entirely. Distributing it
> for external applications like OS loaders would mean this can be leveraged
> probably no earlier than 10 years from now. And for in-firmware things, I
> have a hard time thinking about a use-case that outweighs the drawbacks.
>
>
> To shift the topic slightly back to GSoC, however, I'm willing to work
> on other items on the task list. Unit testing and an ACPICA application are
> the alternative projects I had thought about. I need to choose fairly soon
> as the proposal deadline is next Tuesday. I know a tiny bit about porting
> ACPICA as I also have plans to incorporate it into my own project.
>
> I have a few more ideas for security stuff, but Nate did not confirm them
> as appropriate yet and I’m not here to drive you away from this specific
> task (or the others). However, I’m still curious and concerned. :)
>
> Best regards,
> Marvin
>
>
>
>
>
>
>
>
> --
> Pedro Falcato
>
>
> 
>
>
>


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#88895): https://edk2.groups.io/g/devel/message/88895
Mute This Topic: https://groups.io/mt/90435699/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to