* [PATCH] tpm/tpm_ftpm_tee: Fix error handling in ftpm_mod_init()
@ 2022-11-24 3:19 Yuan Can
2022-11-28 1:23 ` Jarkko Sakkinen
0 siblings, 1 reply; 4+ messages in thread
From: Yuan Can @ 2022-11-24 3:19 UTC (permalink / raw)
To: peterhuewe, jarkko, jgg, sumit.garg, jens.wiklander,
maxim.uvarov, linux-integrity
Cc: yuancan
The ftpm_mod_init() returns the driver_register() directly without checking
its return value, if driver_register() failed, the ftpm_tee_plat_driver is
not unregistered.
Fix by unregister ftpm_tee_plat_driver when driver_register() failed.
Fixes: 9f1944c23c8c ("tpm_ftpm_tee: register driver on TEE bus")
Signed-off-by: Yuan Can <yuancan@huawei.com>
---
drivers/char/tpm/tpm_ftpm_tee.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/char/tpm/tpm_ftpm_tee.c b/drivers/char/tpm/tpm_ftpm_tee.c
index 5c233423c56f..deff23bb54bf 100644
--- a/drivers/char/tpm/tpm_ftpm_tee.c
+++ b/drivers/char/tpm/tpm_ftpm_tee.c
@@ -397,7 +397,13 @@ static int __init ftpm_mod_init(void)
if (rc)
return rc;
- return driver_register(&ftpm_tee_driver.driver);
+ rc = driver_register(&ftpm_tee_driver.driver);
+ if (rc) {
+ platform_driver_unregister(&ftpm_tee_plat_driver);
+ return rc;
+ }
+
+ return 0;
}
static void __exit ftpm_mod_exit(void)
--
2.17.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] tpm/tpm_ftpm_tee: Fix error handling in ftpm_mod_init()
2022-11-24 3:19 [PATCH] tpm/tpm_ftpm_tee: Fix error handling in ftpm_mod_init() Yuan Can
@ 2022-11-28 1:23 ` Jarkko Sakkinen
2022-11-28 6:42 ` Maxim Uvarov
0 siblings, 1 reply; 4+ messages in thread
From: Jarkko Sakkinen @ 2022-11-28 1:23 UTC (permalink / raw)
To: Yuan Can
Cc: peterhuewe, jgg, sumit.garg, jens.wiklander, maxim.uvarov,
linux-integrity
On Thu, Nov 24, 2022 at 03:19:26AM +0000, Yuan Can wrote:
> The ftpm_mod_init() returns the driver_register() directly without checking
> its return value, if driver_register() failed, the ftpm_tee_plat_driver is
> not unregistered.
>
> Fix by unregister ftpm_tee_plat_driver when driver_register() failed.
>
> Fixes: 9f1944c23c8c ("tpm_ftpm_tee: register driver on TEE bus")
> Signed-off-by: Yuan Can <yuancan@huawei.com>
> ---
> drivers/char/tpm/tpm_ftpm_tee.c | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/char/tpm/tpm_ftpm_tee.c b/drivers/char/tpm/tpm_ftpm_tee.c
> index 5c233423c56f..deff23bb54bf 100644
> --- a/drivers/char/tpm/tpm_ftpm_tee.c
> +++ b/drivers/char/tpm/tpm_ftpm_tee.c
> @@ -397,7 +397,13 @@ static int __init ftpm_mod_init(void)
> if (rc)
> return rc;
>
> - return driver_register(&ftpm_tee_driver.driver);
> + rc = driver_register(&ftpm_tee_driver.driver);
> + if (rc) {
> + platform_driver_unregister(&ftpm_tee_plat_driver);
> + return rc;
> + }
> +
> + return 0;
> }
>
> static void __exit ftpm_mod_exit(void)
> --
> 2.17.1
>
Acked-by: Jarkko Sakkinen <jarkko@kernel.org>
BR, Jarkko
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] tpm/tpm_ftpm_tee: Fix error handling in ftpm_mod_init()
2022-11-28 1:23 ` Jarkko Sakkinen
@ 2022-11-28 6:42 ` Maxim Uvarov
2022-12-04 16:59 ` Jarkko Sakkinen
0 siblings, 1 reply; 4+ messages in thread
From: Maxim Uvarov @ 2022-11-28 6:42 UTC (permalink / raw)
To: Jarkko Sakkinen
Cc: Yuan Can, peterhuewe, jgg, sumit.garg, jens.wiklander, linux-integrity
yea, for backward compatibility both platfrom_driver and driver_ were
supported. Maybe it's time to reconsider this now...
Thanks for the clean up fix.
Reviewed-by: Maxim Uvarov <maxim.uvarov@linaro.org>
Best regards,
Maxim.
On Mon, 28 Nov 2022 at 04:23, Jarkko Sakkinen <jarkko@kernel.org> wrote:
>
> On Thu, Nov 24, 2022 at 03:19:26AM +0000, Yuan Can wrote:
> > The ftpm_mod_init() returns the driver_register() directly without checking
> > its return value, if driver_register() failed, the ftpm_tee_plat_driver is
> > not unregistered.
> >
> > Fix by unregister ftpm_tee_plat_driver when driver_register() failed.
> >
> > Fixes: 9f1944c23c8c ("tpm_ftpm_tee: register driver on TEE bus")
> > Signed-off-by: Yuan Can <yuancan@huawei.com>
> > ---
> > drivers/char/tpm/tpm_ftpm_tee.c | 8 +++++++-
> > 1 file changed, 7 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/char/tpm/tpm_ftpm_tee.c b/drivers/char/tpm/tpm_ftpm_tee.c
> > index 5c233423c56f..deff23bb54bf 100644
> > --- a/drivers/char/tpm/tpm_ftpm_tee.c
> > +++ b/drivers/char/tpm/tpm_ftpm_tee.c
> > @@ -397,7 +397,13 @@ static int __init ftpm_mod_init(void)
> > if (rc)
> > return rc;
> >
> > - return driver_register(&ftpm_tee_driver.driver);
> > + rc = driver_register(&ftpm_tee_driver.driver);
> > + if (rc) {
> > + platform_driver_unregister(&ftpm_tee_plat_driver);
> > + return rc;
> > + }
> > +
> > + return 0;
> > }
> >
> > static void __exit ftpm_mod_exit(void)
> > --
> > 2.17.1
> >
>
> Acked-by: Jarkko Sakkinen <jarkko@kernel.org>
>
> BR, Jarkko
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] tpm/tpm_ftpm_tee: Fix error handling in ftpm_mod_init()
2022-11-28 6:42 ` Maxim Uvarov
@ 2022-12-04 16:59 ` Jarkko Sakkinen
0 siblings, 0 replies; 4+ messages in thread
From: Jarkko Sakkinen @ 2022-12-04 16:59 UTC (permalink / raw)
To: Maxim Uvarov
Cc: Yuan Can, peterhuewe, jgg, sumit.garg, jens.wiklander, linux-integrity
On Mon, Nov 28, 2022 at 09:42:15AM +0300, Maxim Uvarov wrote:
> yea, for backward compatibility both platfrom_driver and driver_ were
> supported. Maybe it's time to reconsider this now...
> Thanks for the clean up fix.
>
> Reviewed-by: Maxim Uvarov <maxim.uvarov@linaro.org>
Applied to git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd.git
> Best regards,
> Maxim.
BR, Jarkko
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-12-04 16:59 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-24 3:19 [PATCH] tpm/tpm_ftpm_tee: Fix error handling in ftpm_mod_init() Yuan Can
2022-11-28 1:23 ` Jarkko Sakkinen
2022-11-28 6:42 ` Maxim Uvarov
2022-12-04 16:59 ` Jarkko Sakkinen
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.