Re: [PATCH 1/2] powerpc/tpm: Create linux,sml-base/size as big endian

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux Kernel]     [Linux Kernel Hardening]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux