On Fri, 13 Aug 2021 at 15:12, Leif Lindholm <l...@nuviainc.com> wrote:

> On Fri, Aug 13, 2021 at 14:14:27 +0200, Alexander Graf wrote:
> > > > There are a few reasons you may want to use eBPF:
> > > >
> > > > 1) Security
> > > > 2) Cross-arch compatibility
> > > >
> > > > I don't think you can get either in UEFI's current module model,
> because you
> > > > exchange direct flat memory model objects between entities. So while
> struct
> > > > layouts, function call ABI, etc still matter you still don't get any
> > > > additional security because you need to have full access to all
> memory at
> > > > all times.
> > > >
> > > > So let me ask this the other way around: What are you trying to
> achieve?
> > > Portable option ROMs with a supportable toolchain.
> >
> > As long as your host ABI is compatible to eBPF, it will also be
> compatible
> > to x86_64, no? That means, you can just as well use x86_64 instead.
>
> But require an x86_64 toolchain I would have no other use for.
>
> > What I'm much more interested in is a path where we move out of the 1980
>
> (An interesting sentence to follow onto why x86_64 is the ideal
> solution for a portable instruction set.)
>
> > misery of flat address spaces and no privilege separation between
> entities.
> > How hard would it be to create wasm bindings for the 99% of use cases
> that
> > Option ROMs have these days?
>
> That is an interesting idea. I'm certainly not wedded to the idea of
> eBPF, only to the idea of not needing to keep arbitrary legacy
> toolchains around.
>
> Certainly if we're adding a whole new binary format, and a new virtual
> machine, to the specification, we can add restrictions on what
> operations can be performed within that virtual machine.
>
> > Could we create a shim layer between the big
> > UEFI blob and Option ROMs that would make it impossible to access stray
> > pointers for example?
>
> That could be addressed at the same point, yes.
>
> Isn't it the verifier's job to scan for bad code ? To some extent, I
consider that eBPF code is running sand boxed because of this verifier
thing.
I believe this verifier was the technology which allowed eBPF to make its
way in the Linux kernel, and now in Windows kernel.

> /
>     Leif
>


-- 
François-Frédéric Ozog | *Director Business Development*
T: +33.67221.6485
francois.o...@linaro.org | Skype: ffozog
_______________________________________________
boot-architecture mailing list
boot-architecture@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/boot-architecture

Reply via email to