[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <063D6719AE5E284EB5DD2968C1650D6DB0270A32@AcuExch.aculab.com>
Date: Fri, 27 Jan 2017 11:18:01 +0000
From: David Laight <David.Laight@...LAB.COM>
To: 'Michal Suchánek' <msuchanek@...e.de>,
Ashley Lai <ashleydlai@...il.com>,
Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Paul Mackerras <paulus@...ba.org>,
Michael Ellerman <mpe@...erman.id.au>,
Peter Huewe <peterhuewe@....de>,
Marcel Selhorst <tpmdd@...horst.net>,
"Jarkko Sakkinen" <jarkko.sakkinen@...ux.intel.com>,
Jason Gunthorpe <jgunthorpe@...idianresearch.com>,
"tpmdd-devel@...ts.sourceforge.net"
<tpmdd-devel@...ts.sourceforge.net>,
"linuxppc-dev@...ts.ozlabs.org" <linuxppc-dev@...ts.ozlabs.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: ibmvtpm byteswapping inconsistency
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
Powered by blists - more mailing lists