On Mon, Feb 27, 2023 at 06:08:31PM -0500, Stefan Berger wrote: > > > On 2/23/23 22:25, Michael Ellerman wrote: > > There's code in prom_instantiate_sml() to do a "SML handover" (Stored > > Measurement Log) from OF to Linux, before Linux shuts down Open > > Firmware. > > > > This involves creating a buffer to hold the SML, and creating two device > > tree properties to record its base address and size. The kernel then > > later reads those properties from the device tree to find the SML. > > > > When the code was initially added in commit 4a727429abec ("PPC64: Add > > support for instantiating SML from Open Firmware") the powerpc kernel > > was always built big endian, so the properties were created big endian > > by default. > > > > However since then little endian support was added to powerpc, and now > > the code lacks conversions to big endian when creating the properties. > > > > This means on little endian kernels the device tree properties are > > little endian, which is contrary to the device tree spec, and in > > contrast to all other device tree properties. > > > > To cope with that a workaround was added in tpm_read_log_of() to skip > > the endian conversion if the properties were created via the SML > > handover. > > > > A better solution is to encode the properties as big endian as they > > should be, and remove the workaround. > > > > Typically changing the encoding of a property like this would present > > problems for kexec. However the SML is not propagated across kexec, so > > changing the encoding of the properties is a non-issue. > > > > Fixes: e46e22f12b19 ("tpm: enhance read_log_of() to support Physical TPM event log") > > Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> > > Reviewed-by: Stefan Berger <stefanb@xxxxxxxxxxxxx> 2/2 does not have a fixes tag. BR, Jarkko