Message ID | 20230623030427.908-1-mario.limonciello@amd.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | tpm: Ensure that tpm chip has ops to check if it's defective | expand |
On Thu, Jun 22, 2023 at 10:04:27PM -0500, Mario Limonciello wrote: > The ibmvtpm doesn't have `chip->ops` set, and so trying to check > if it's a defective AMD fTPM doesn't work. > > Add an extra check to tpm_amd_is_rng_defective() to ensure the > TPM being checked has `chip->ops`. > > Cc: Linux regressions mailing list <regressions@lists.linux.dev> > Reported-by: Aneesh Kumar K. V <aneesh.kumar@linux.ibm.com> > Reported-by: Sachin Sant <sachinp@linux.ibm.com> > Link: https://lore.kernel.org/lkml/99B81401-DB46-49B9-B321-CF832B50CAC3@linux.ibm.com/ > Tested-by: Sachin Sant <sachinp@linux.ibm.com> > Fixes: bd8621ca1510 ("tpm: Add !tpm_amd_is_rng_defective() to the hwrng_unregister() call site") > Fixes: f1324bbc4011 ("tpm: disable hwrng for fTPM on some AMD designs") > Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> > --- > drivers/char/tpm/tpm-chip.c | 3 +++ > 1 file changed, 3 insertions(+) No cc: stable on that list above? greg k-h
On 6/23/2023 1:08 AM, Greg KH wrote: > On Thu, Jun 22, 2023 at 10:04:27PM -0500, Mario Limonciello wrote: >> The ibmvtpm doesn't have `chip->ops` set, and so trying to check >> if it's a defective AMD fTPM doesn't work. >> >> Add an extra check to tpm_amd_is_rng_defective() to ensure the >> TPM being checked has `chip->ops`. >> >> Cc: Linux regressions mailing list <regressions@lists.linux.dev> >> Reported-by: Aneesh Kumar K. V <aneesh.kumar@linux.ibm.com> >> Reported-by: Sachin Sant <sachinp@linux.ibm.com> >> Link: https://lore.kernel.org/lkml/99B81401-DB46-49B9-B321-CF832B50CAC3@linux.ibm.com/ >> Tested-by: Sachin Sant <sachinp@linux.ibm.com> >> Fixes: bd8621ca1510 ("tpm: Add !tpm_amd_is_rng_defective() to the hwrng_unregister() call site") >> Fixes: f1324bbc4011 ("tpm: disable hwrng for fTPM on some AMD designs") >> Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> >> --- >> drivers/char/tpm/tpm-chip.c | 3 +++ >> 1 file changed, 3 insertions(+) > No cc: stable on that list above? Good point, my mistake on that miss. If Jarkko agrees with the direction of this patch, I think it can be added while committing. Thanks!
> -----Original Message----- > From: Limonciello, Mario > Sent: Friday, June 23, 2023 8:42 AM > To: Greg KH <gregkh@linuxfoundation.org> > Cc: peterhuewe@gmx.de; jarkko@kernel.org; jgg@ziepe.ca; linux- > integrity@vger.kernel.org; linux-kernel@vger.kernel.org; Linux regressions > mailing list <regressions@lists.linux.dev>; Aneesh Kumar K . V > <aneesh.kumar@linux.ibm.com>; Sachin Sant <sachinp@linux.ibm.com> > Subject: Re: [PATCH] tpm: Ensure that tpm chip has ops to check if it's > defective > > > On 6/23/2023 1:08 AM, Greg KH wrote: > > On Thu, Jun 22, 2023 at 10:04:27PM -0500, Mario Limonciello wrote: > >> The ibmvtpm doesn't have `chip->ops` set, and so trying to check > >> if it's a defective AMD fTPM doesn't work. > >> > >> Add an extra check to tpm_amd_is_rng_defective() to ensure the > >> TPM being checked has `chip->ops`. > >> > >> Cc: Linux regressions mailing list <regressions@lists.linux.dev> > >> Reported-by: Aneesh Kumar K. V <aneesh.kumar@linux.ibm.com> > >> Reported-by: Sachin Sant <sachinp@linux.ibm.com> > >> Link: https://lore.kernel.org/lkml/99B81401-DB46-49B9-B321- > CF832B50CAC3@linux.ibm.com/ > >> Tested-by: Sachin Sant <sachinp@linux.ibm.com> > >> Fixes: bd8621ca1510 ("tpm: Add !tpm_amd_is_rng_defective() to the > hwrng_unregister() call site") > >> Fixes: f1324bbc4011 ("tpm: disable hwrng for fTPM on some AMD > designs") > >> Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> > >> --- > >> drivers/char/tpm/tpm-chip.c | 3 +++ > >> 1 file changed, 3 insertions(+) > > No cc: stable on that list above? > > Good point, my mistake on that miss. > > If Jarkko agrees with the direction of this patch, I think > it can be added while committing. > > Thanks! Since then, a much better patch was suggested. Please discard this one. https://lkml.org/lkml/2023/6/29/898
On Fri Jun 23, 2023 at 4:42 PM EEST, Limonciello, Mario wrote: > > On 6/23/2023 1:08 AM, Greg KH wrote: > > On Thu, Jun 22, 2023 at 10:04:27PM -0500, Mario Limonciello wrote: > >> The ibmvtpm doesn't have `chip->ops` set, and so trying to check > >> if it's a defective AMD fTPM doesn't work. > >> > >> Add an extra check to tpm_amd_is_rng_defective() to ensure the > >> TPM being checked has `chip->ops`. > >> > >> Cc: Linux regressions mailing list <regressions@lists.linux.dev> > >> Reported-by: Aneesh Kumar K. V <aneesh.kumar@linux.ibm.com> > >> Reported-by: Sachin Sant <sachinp@linux.ibm.com> > >> Link: https://lore.kernel.org/lkml/99B81401-DB46-49B9-B321-CF832B50CAC3@linux.ibm.com/ > >> Tested-by: Sachin Sant <sachinp@linux.ibm.com> > >> Fixes: bd8621ca1510 ("tpm: Add !tpm_amd_is_rng_defective() to the hwrng_unregister() call site") > >> Fixes: f1324bbc4011 ("tpm: disable hwrng for fTPM on some AMD designs") > >> Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> > >> --- > >> drivers/char/tpm/tpm-chip.c | 3 +++ > >> 1 file changed, 3 insertions(+) > > No cc: stable on that list above? > > Good point, my mistake on that miss. > > If Jarkko agrees with the direction of this patch, I think > it can be added while committing. Hmm... sorry Midsummer weekend, which is kind of big thing in Finland, and also helping toe expose neo-nazi affiliated minister (sounds crazy but it is literally true) have made me lag a bit with LKML. I'm presuming that we are going in the direction of Jerry's patch, right? BR, Jarkko
[Public] > -----Original Message----- > From: Jarkko Sakkinen <jarkko@kernel.org> > Sent: Thursday, June 29, 2023 9:09 PM > To: Limonciello, Mario <Mario.Limonciello@amd.com>; Greg KH > <gregkh@linuxfoundation.org> > Cc: peterhuewe@gmx.de; jgg@ziepe.ca; linux-integrity@vger.kernel.org; linux- > kernel@vger.kernel.org; Linux regressions mailing list > <regressions@lists.linux.dev>; Aneesh Kumar K . V > <aneesh.kumar@linux.ibm.com>; Sachin Sant <sachinp@linux.ibm.com> > Subject: Re: [PATCH] tpm: Ensure that tpm chip has ops to check if it's > defective > > On Fri Jun 23, 2023 at 4:42 PM EEST, Limonciello, Mario wrote: > > > > On 6/23/2023 1:08 AM, Greg KH wrote: > > > On Thu, Jun 22, 2023 at 10:04:27PM -0500, Mario Limonciello wrote: > > >> The ibmvtpm doesn't have `chip->ops` set, and so trying to check > > >> if it's a defective AMD fTPM doesn't work. > > >> > > >> Add an extra check to tpm_amd_is_rng_defective() to ensure the > > >> TPM being checked has `chip->ops`. > > >> > > >> Cc: Linux regressions mailing list <regressions@lists.linux.dev> > > >> Reported-by: Aneesh Kumar K. V <aneesh.kumar@linux.ibm.com> > > >> Reported-by: Sachin Sant <sachinp@linux.ibm.com> > > >> Link: https://lore.kernel.org/lkml/99B81401-DB46-49B9-B321- > CF832B50CAC3@linux.ibm.com/ > > >> Tested-by: Sachin Sant <sachinp@linux.ibm.com> > > >> Fixes: bd8621ca1510 ("tpm: Add !tpm_amd_is_rng_defective() to the > hwrng_unregister() call site") > > >> Fixes: f1324bbc4011 ("tpm: disable hwrng for fTPM on some AMD > designs") > > >> Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> > > >> --- > > >> drivers/char/tpm/tpm-chip.c | 3 +++ > > >> 1 file changed, 3 insertions(+) > > > No cc: stable on that list above? > > > > Good point, my mistake on that miss. > > > > If Jarkko agrees with the direction of this patch, I think > > it can be added while committing. > > Hmm... sorry Midsummer weekend, which is kind of big thing in Finland, > and also helping toe expose neo-nazi affiliated minister (sounds crazy > but it is literally true) have made me lag a bit with LKML. > > I'm presuming that we are going in the direction of Jerry's patch, > right? > > BR, Jarkko Yes; let's go with Jerry's patch instead.
diff --git a/drivers/char/tpm/tpm-chip.c b/drivers/char/tpm/tpm-chip.c index cd48033b804a..9ba433761e9a 100644 --- a/drivers/char/tpm/tpm-chip.c +++ b/drivers/char/tpm/tpm-chip.c @@ -524,6 +524,9 @@ static bool tpm_amd_is_rng_defective(struct tpm_chip *chip) u64 version; int ret; + if (!chip->ops) + return false; + if (!(chip->flags & TPM_CHIP_FLAG_TPM2)) return false;