From: Jarkko Sakkinen <jarkko@kernel.org>
To: "Michael Niewöhner" <linux@mniewoehner.de>
Cc: Lino Sanfilippo <LinoSanfilippo@gmx.de>,
peterhuewe@gmx.de, jgg@ziepe.ca, stefanb@linux.vnet.ibm.com,
stefanb@linux.ibm.com, James.Bottomley@hansenpartnership.com,
keescook@chromium.org, jsnitsel@redhat.com,
ml.linux@elloe.vision, linux-integrity@vger.kernel.org,
linux-kernel@vger.kernel.org, twawrzynczak@chromium.org
Subject: Re: [PATCH v3 0/4] Fixes for TPM interrupt handling
Date: Fri, 25 Mar 2022 04:14:30 +0200 [thread overview]
Message-ID: <Yj0lhqTP1RoedxSc@iki.fi> (raw)
In-Reply-To: <2a1a1cf61732eff1608aeae74054a0c135c1671f.camel@mniewoehner.de>
On Thu, Mar 24, 2022 at 06:04:23PM +0100, Michael Niewöhner wrote:
> Hi guys,
>
> On Thu, 2021-05-06 at 04:47 +0300, Jarkko Sakkinen wrote:
> > On Wed, May 05, 2021 at 01:15:29AM +0200, Lino Sanfilippo wrote:
> > > Hi,
> > >
> > > On 03.05.21 at 17:50, Jarkko Sakkinen wrote:
> > > > What the heck is "simplification" and what that has to do with fixing
> > > > anything? I don't understand your terminology.
> > >
> > >
> > > The intention for this patch is not to fix anything. Please read the cover
> > > letter and the commit message.
> > > This patch is about making the locality handling easier by not
> > > claiming/releasing
> > > it multiple times over the driver life time, but claiming it once at driver
> > > startup and only releasing it at driver shutdown.
> > >
> > > Right now we have locality request/release combos in
> > >
> > > - probe_itpm()
> > > - tpm_tis_gen_interrupt()
> > > - tpm_tis_core_init()
> > > - tpm_chip_start()
> > >
> > > and there is still one combo missing for
> > >
> > > - tpm2_get_timeouts()
> > >
> > > which is the reason why we get the "TPM returned invalid status" bug in case
> > > of TPM2 (and this is the bug which is _incidentally_ fixed by this patch,
> > > see
> > > below).
> > >
> > > And if we are going to enable interrupts, we have to introduce yet another
> > > combo,
> > > for accessing the status register in the interrupt handler, since TPM 2.0
> > > requires holding the locality for writing to the status register. That makes
> > > 6 different code places in which we take and release the locality.
> > >
> > > With this patch applied we only take the locality at one place. Furthermore
> > > with interrupts enabled we dont have to claim the locality for each handler
> > > execution, saving us countless claim/release combinations at runtime.
> > >
> > > Hence the term "simplification" which is perfectly justified IMO.
> > >
> > > So again, this patch is "only" in preparation for the next patch when
> > > interrupts
> > > are actually enabled and we would have to take the locality in the interrupt
> > > handler without this patch.
> >
> > So: what problem this patch does solve?
> >
> > /Jarkko
> >
>
> first, thank you very much, Lino, for working on this! I've been debugging
> issues with the tis driver in the last days and was about to start with the same
> approach as yours when I luckily discovered your patch!
>
> Jarkko, while I agree, that the commit message is not optimal, Lino tried hard
> to explain what the problems with the current code are and how they are / can be
> fixed. Further, I too don't see why simplification / optimization is such a bad
> thing. This driver is actually a very good example. I had a hard time, too,
> figuring out what's going on there. A clean rewrite is a very valid approach
> here IMO. It's not "polishing for nothing", as you described it, but actually
> solving problems.
>
> Interrupt detection is broken for years now and finally a volunteer worked on a
> solution. Don't you think this should be valued? Let's get this problem sorted
> out :-)
>
> Lino, I'd be happy to test the patches, when you have time and interest to work
> on this again!
>
> Thanks, Michael
It's quite easy to test them out. Both fixes are in the mainline GIT tree.
E.g. give a shot rc1, and please report if any issues persists to:
linux-integrity@vger.kernel.org
BR, Jarkko
next prev parent reply other threads:[~2022-03-25 2:13 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-01 13:57 [PATCH v3 0/4] Fixes for TPM interrupt handling Lino Sanfilippo
2021-05-01 13:57 ` [PATCH v3 1/4] tpm: Use a threaded interrupt handler Lino Sanfilippo
2021-05-03 15:14 ` Jarkko Sakkinen
2021-05-04 22:54 ` Lino Sanfilippo
2021-05-06 1:46 ` Jarkko Sakkinen
2021-05-01 13:57 ` [PATCH v3 2/4] tpm: Simplify locality handling Lino Sanfilippo
2021-05-03 15:50 ` Jarkko Sakkinen
2021-05-04 23:15 ` Lino Sanfilippo
2021-05-06 1:47 ` Jarkko Sakkinen
2022-03-24 17:04 ` [PATCH v3 0/4] Fixes for TPM interrupt handling Michael Niewöhner
2022-03-25 2:14 ` Jarkko Sakkinen [this message]
2022-03-25 12:32 ` Michael Niewöhner
2022-03-26 3:24 ` Lino Sanfilippo
2022-03-26 8:59 ` Michael Niewöhner
2022-03-30 15:19 ` Jarkko Sakkinen
2022-04-20 5:30 ` Jarkko Sakkinen
2022-04-20 5:32 ` Jarkko Sakkinen
2022-04-24 2:22 ` Lino Sanfilippo
2022-04-25 13:57 ` Jarkko Sakkinen
2022-03-30 15:18 ` Jarkko Sakkinen
2021-05-01 13:57 ` [PATCH v3 3/4] tpm: Fix test for interrupts Lino Sanfilippo
2021-05-03 15:52 ` Jarkko Sakkinen
2021-05-04 23:18 ` Lino Sanfilippo
2021-05-01 13:57 ` [PATCH v3 4/4] tpm: Only enable supported irqs Lino Sanfilippo
2021-05-01 19:09 ` Stefan Berger
2021-05-02 3:15 ` Lino Sanfilippo
2021-05-03 15:52 ` Jarkko Sakkinen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Yj0lhqTP1RoedxSc@iki.fi \
--to=jarkko@kernel.org \
--cc=James.Bottomley@hansenpartnership.com \
--cc=LinoSanfilippo@gmx.de \
--cc=jgg@ziepe.ca \
--cc=jsnitsel@redhat.com \
--cc=keescook@chromium.org \
--cc=linux-integrity@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@mniewoehner.de \
--cc=ml.linux@elloe.vision \
--cc=peterhuewe@gmx.de \
--cc=stefanb@linux.ibm.com \
--cc=stefanb@linux.vnet.ibm.com \
--cc=twawrzynczak@chromium.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.