lkml.org 
[lkml]   [2017]   [Jan]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: ibmvtpm byteswapping inconsistency
    From
    Date
    Adding Vicky from IBM.


    On 01/26/2017 04:05 PM, Jason Gunthorpe wrote:
    > On Thu, Jan 26, 2017 at 09:22:48PM +0100, Michal Such??nek wrote:
    >
    >> This is repeated a few times in the driver so I added memset to quiet
    >> gcc and make behavior deterministic in case the unused fields get some
    >> meaning in the future.
    > Yep, reserved certainly needs to be zeroed.. Can you send a patch?
    > memset is overkill...
    >
    >> However, in tpm_ibmvtpm_send the structure is initialized as
    >>
    >> struct ibmvtpm_crq crq;
    >> __be64 *word = (__be64 *)&crq;
    >> ...
    >> crq.valid = (u8)IBMVTPM_VALID_CMD;
    >> crq.msg = (u8)VTPM_TPM_COMMAND;
    >> crq.len = cpu_to_be16(count);
    >> crq.data = cpu_to_be32(ibmvtpm->rtce_dma_handle);
    >>
    >> and submitted with
    >>
    >> rc = ibmvtpm_send_crq(ibmvtpm->vdev, be64_to_cpu(word[0]),
    >> be64_to_cpu(word[1]));
    >> meaning it is swapped twice.
    > No idea, Nayna may know.
    >
    > My guess is that '__be64 *word' should be 'u64 *word'...
    >
    > Jason

    \
     
     \ /
      Last update: 2017-01-26 23:58    [W:2.498 / U:0.040 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site