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

From: Winkler, Tomas
Date: Sat Oct 20 2018 - 18:49:49 EST


>
> On Thu, 18 Oct 2018, Winkler, Tomas wrote:
> >> -----Original Message-----
> >> From: Jarkko Sakkinen [mailto:jarkko.sakkinen@xxxxxxxxxxxxxxx]
> >> Sent: Thursday, October 18, 2018 03:15
> >> To: Winkler, Tomas <tomas.winkler@xxxxxxxxx>
> >> Cc: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx>; Jason
> >> Gunthorpe <jgg@xxxxxxxx>; Nayna Jain <nayna@xxxxxxxxxxxxxxxxxx>;
> >> Usyskin, Alexander <alexander.usyskin@xxxxxxxxx>; Struk, Tadeusz
> >> <tadeusz.struk@xxxxxxxxx>; linux-integrity@xxxxxxxxxxxxxxx;
> >> linux-security- module@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> >> stable@xxxxxxxxxxxxxxx
> >> 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.