[PATCH] tpm: tpm_try_transmit() refactor error flow.

Jarkko Sakkinen jarkko.sakkinen at linux.intel.com
Tue Oct 23 13:27:48 UTC 2018



On Sat, 20 Oct 2018, Winkler, Tomas wrote:

>>
>> On Thu, 18 Oct 2018, Winkler, Tomas wrote:
>>>> -----Original Message-----
>>>> From: Jarkko Sakkinen [mailto:jarkko.sakkinen at linux.intel.com]
>>>> Sent: Thursday, October 18, 2018 03:15
>>>> To: Winkler, Tomas <tomas.winkler at intel.com>
>>>> Cc: Jarkko Sakkinen <jarkko.sakkinen at linux.intel.com>; Jason
>>>> Gunthorpe <jgg at ziepe.ca>; Nayna Jain <nayna at linux.vnet.ibm.com>;
>>>> Usyskin, Alexander <alexander.usyskin at intel.com>; Struk, Tadeusz
>>>> <tadeusz.struk at intel.com>; linux-integrity at vger.kernel.org;
>>>> linux-security- module at vger.kernel.org; linux-kernel at vger.kernel.org;
>>>> stable at vger.kernel.org
>>>> Subject: Re: [PATCH] tpm: tpm_try_transmit() refactor error flow.
>>>>
>>>> On Tue, 16 Oct 2018, Tomas Winkler wrote:
>>>>> First, rename out_no_locality to out_locality for bailing out on
>>>>> both
>>>>> tpm_cmd_ready() and tpm_request_locality() failure.
>>>>
>>>> This is unnecessary change and technically it is not a rename: the
>>>> commit message text and the code change do not match. Rename is just
>>>> a rename (i.e. change a variable name foo to bar).
>>>
>>> I'm renaming the label because it doesn't match the code flow anymore,
>>> I can change the commit message, but you please review the code.
>>> Tomas
>>
>> The flow change is unnecessary and does not really have anything to do with
>> the bug fix.
>
> What I see in the original code is that when
> tpm_cmd_ready()  fails it's jumps to 'out' label and trying to do tpm_go_idle()
> but instead it should just undoing the locality, so both cmd_read and go idle had a wrong
> jump. I see both should  be fixed.
>
> Earlier version was better than this and would have been fine
>> when taking account the remark from Jason.

So you are doing tpm_cmd_ready() change in order to prevent unnecessary
call to tpm_go_idle() that was previously i.e. before when that function
failed in jumped to out and called tpm_go_idle()?

This should be probably split into two commits if I understood right. You
did not have this updated mentioned in a changelog (there was no 
changelog).

Have you checked that if these were separate commits they would have the
same fixes line? Why not use the label name 'out' as the same label
handles bot 'locality' and 'no_locality'?


/Jarkko



More information about the Linux-security-module-archive mailing list