On Tue, Apr 17, 2018 at 5:02 AM Jason Gunthorpe <jgg@xxxxxxxx> wrote: > On Thu, Apr 12, 2018 at 12:13:47PM +0200, Thiebaud Weksteen wrote: > > Signed-off-by: Thiebaud Weksteen <tweek@xxxxxxxxxx> > > drivers/char/tpm/tpm_eventlog_of.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/char/tpm/tpm_eventlog_of.c b/drivers/char/tpm/tpm_eventlog_of.c > > index 96fd5646f866..d74568d58a66 100644 > > +++ b/drivers/char/tpm/tpm_eventlog_of.c > > @@ -56,8 +56,8 @@ int tpm_read_log_of(struct tpm_chip *chip) > > * but physical tpm needs the conversion. > > */ > > if (of_property_match_string(np, "compatible", "IBM,vtpm") < 0) { > > - size = be32_to_cpup(sizep); > > - base = be64_to_cpup(basep); > > + size = be32_to_cpup((__be32 *)sizep); > > + base = be64_to_cpup((__be64 *)basep); > Er, no.. change the definitions of sizep and basep to be __be > Jason Please read the comment before the condition. sizep and basep may contain either little endian or big endian and this block is used to adjust that. Let me know if there is a better way for handling this.