Re: [PATCH v6 24/26] powerpc/pseries: Implement secvars for dynamic secure boot

2023-02-15 Thread Michael Ellerman
Andrew Donnellan writes: > On Mon, 2023-02-13 at 22:32 +1100, Michael Ellerman wrote: >> > > +   memcpy(&flags, data, sizeof(flags)); >> > >> > conversion from bytestream to integer: I think in this case it >> > would be better to use >> > >> > flags = cpu_to_be64p((__u64*)data); >> > >> >

Re: [PATCH v6 24/26] powerpc/pseries: Implement secvars for dynamic secure boot

2023-02-13 Thread Andrew Donnellan
On Mon, 2023-02-13 at 22:32 +1100, Michael Ellerman wrote: > > > +   memcpy(&flags, data, sizeof(flags)); > > > > conversion from bytestream to integer: I think in this case it > > would be better to use > > > > flags = cpu_to_be64p((__u64*)data); > > > > so that the flags always in hypervis

Re: [PATCH v6 24/26] powerpc/pseries: Implement secvars for dynamic secure boot

2023-02-13 Thread Stefan Berger
On 2/13/23 06:32, Michael Ellerman wrote: Stefan Berger writes: On 2/10/23 03:03, Andrew Donnellan wrote: From: Russell Currey ... +static int plpks_set_variable(const char *key, u64 key_len, u8 *data, + u64 data_size) +{ + struct plpks_var var = {0}; +

Re: [PATCH v6 24/26] powerpc/pseries: Implement secvars for dynamic secure boot

2023-02-13 Thread Michael Ellerman
Stefan Berger writes: > On 2/10/23 03:03, Andrew Donnellan wrote: >> From: Russell Currey ... >> +static int plpks_set_variable(const char *key, u64 key_len, u8 *data, >> + u64 data_size) >> +{ >> +struct plpks_var var = {0}; >> +int rc = 0; >> +u64 flags; >>

Re: [PATCH v6 24/26] powerpc/pseries: Implement secvars for dynamic secure boot

2023-02-12 Thread Andrew Donnellan
On Mon, 2023-02-13 at 16:26 +1100, Michael Ellerman wrote: > Andrew Donnellan writes: > > On Fri, 2023-02-10 at 16:28 -0500, Stefan Berger wrote: > > > > > +err: > > > > > +    kfree(var.data); > > > > > > > > remove the kfree() > > > > > > Actually don't remove it but it should probably be > >

Re: [PATCH v6 24/26] powerpc/pseries: Implement secvars for dynamic secure boot

2023-02-12 Thread Andrew Donnellan
On Fri, 2023-02-10 at 16:23 -0500, Stefan Berger wrote: > > +   memcpy(&flags, data, sizeof(flags)); > > conversion from bytestream to integer: I think in this case it would > be better to use > > flags = cpu_to_be64p((__u64*)data); > > so that the flags always in hypervisor/big endian forma

Re: [PATCH v6 24/26] powerpc/pseries: Implement secvars for dynamic secure boot

2023-02-12 Thread Michael Ellerman
Andrew Donnellan writes: > On Fri, 2023-02-10 at 16:28 -0500, Stefan Berger wrote: >> > > +err: >> > > +    kfree(var.data); >> > >> > remove the kfree() >> >> Actually don't remove it but it should probably be >> >> if (var.data != &version) >> kfree(var.data); >> > > Argh, thanks for ca

Re: [PATCH v6 24/26] powerpc/pseries: Implement secvars for dynamic secure boot

2023-02-12 Thread Andrew Donnellan
On Fri, 2023-02-10 at 16:28 -0500, Stefan Berger wrote: > > > +err: > > > +    kfree(var.data); > > > > remove the kfree() > > Actually don't remove it but it should probably be > > if (var.data != &version) > kfree(var.data); > Argh, thanks for catching this. I don't think the condition

Re: [PATCH v6 24/26] powerpc/pseries: Implement secvars for dynamic secure boot

2023-02-10 Thread Stefan Berger
On 2/10/23 16:23, Stefan Berger wrote: + +// PLPKS dynamic secure boot doesn't give us a format string in the same way OPAL does. +// Instead, report the format using the SB_VERSION variable in the keystore. +// The string is made up by us, and takes the form "ibm,plpks-sb-v" (or "ibm,p

Re: [PATCH v6 24/26] powerpc/pseries: Implement secvars for dynamic secure boot

2023-02-10 Thread Stefan Berger
On 2/10/23 03:03, Andrew Donnellan wrote: From: Russell Currey The pseries platform can support dynamic secure boot (i.e. secure boot using user-defined keys) using variables contained with the PowerVM LPAR Platform KeyStore (PLPKS). Using the powerpc secvar API, expose the relevant variabl

[PATCH v6 24/26] powerpc/pseries: Implement secvars for dynamic secure boot

2023-02-10 Thread Andrew Donnellan
From: Russell Currey The pseries platform can support dynamic secure boot (i.e. secure boot using user-defined keys) using variables contained with the PowerVM LPAR Platform KeyStore (PLPKS). Using the powerpc secvar API, expose the relevant variables for pseries dynamic secure boot through the