ibmvtpm byteswapping inconsistency
David Laight
David.Laight at ACULAB.COM
Fri Jan 27 22:18:01 AEDT 2017
From: Michal Suchánek
> building ibmvtpm I noticed gcc warning complaining that second word of
> struct ibmvtpm_crq in tpm_ibmvtpm_suspend is uninitialized.
>
> The structure is defined as
>
> struct ibmvtpm_crq {
> u8 valid;
> u8 msg;
> __be16 len;
> __be32 data;
> __be64 reserved;
> } __attribute__((packed, aligned(8)));
>
> initialized as
>
> struct ibmvtpm_crq crq;
> u64 *buf = (u64 *) &crq;
...
Hrummfff....
What is that attribute for, seems pretty confusing and pointless to me.
I also suspect that if you want to access it as two 64bit words it
ought to be a union.
David
More information about the Linuxppc-dev
mailing list