Re: [PATCH v2 1/4] tpm: Add explicit endianness cast

From: Thiebaud Weksteen
Date: Tue Apr 17 2018 - 04:33:11 EST


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.