On Thu, Aug 04, 2022 at 10:29:12AM +0100, Daniel P. Berrangé wrote:
On Thu, Aug 04, 2022 at 03:32:32AM -0500, Andrea Bolognani wrote:
> On Wed, Aug 03, 2022 at 05:29:15PM +0100, Daniel P. Berrangé wrote:
> > On Wed, Aug 03, 2022 at 06:15:24PM +0200, Andrea Bolognani wrote:
> > > <os firmware='efi'>
> > > <firmware>
> > > + <feature enabled='yes' name='secure-boot'/>
> > > <feature enabled='no' name='enrolled-keys'/>
> > > </firmware>
> > > </os>
> >
> > If we want secureboot disabled, this looks wrong. It just enables
> > secureboot, but without any keys. We need enabled=no to ask for
> > a firmware without SecureBoot at all.
>
> Mh. From a practical standpoint, the scenarios
>
> * firmware has secure boot support but there are no enrolled keys
> * firmware doesn't have secure boot support
>
> are pretty much equivalent: either way, unsigned code will be allowed
> to run.
Yes & no - one allows you to enroll custom keys, the other doesn't
allow it. For most people that distinction doesn't matter but it is
a significant difference.
I don't mind documenting both, but we should explain why we are
illustrating two different mechanisms, as when the question is
"how to I disable secureboot" an answer saying "secure_boot
enabled=yes"
simply looks wrong.
Right :)
There's an underlying issue with naming, because what most people
would think of when talking about the state of secure boot is,
counterintuitively, not actually controlled by the "secure-boot"
firmware feature. That's the reason why I wrote this kbase in the
first place: if the XML mechanism matched people's intuition, it
wouldn't be necessary.
I have tried to explain why there are two firmware features
controlling what is, in most people's mind, a binary knob in the
"additional information" section. I'll attempt to expand upon that
without making it too complicated in v2.
--
Andrea Bolognani / Red Hat / Virtualization