diff mbox series

[v0,06/42] firmware: Check notifier registration return value

Message ID 20211108101157.15189-7-bp@alien8.de (mailing list archive)
State New, archived
Headers show
Series None | expand

Commit Message

Borislav Petkov Nov. 8, 2021, 10:11 a.m. UTC
From: Borislav Petkov <bp@suse.de>

Avoid homegrown notifier registration checks.

No functional changes.

Signed-off-by: Borislav Petkov <bp@suse.de>
Cc: linux-arm-kernel@lists.infradead.org
---
 drivers/firmware/arm_scmi/notify.c | 3 ++-
 drivers/firmware/google/gsmi.c     | 6 ++++--
 2 files changed, 6 insertions(+), 3 deletions(-)

Comments

Cristian Marussi Nov. 12, 2021, 6:43 p.m. UTC | #1
On Mon, Nov 08, 2021 at 11:11:21AM +0100, Borislav Petkov wrote:
> From: Borislav Petkov <bp@suse.de>
> 
> Avoid homegrown notifier registration checks.
> 
> No functional changes.
> 
> Signed-off-by: Borislav Petkov <bp@suse.de>
> Cc: linux-arm-kernel@lists.infradead.org
> ---

Hi Borislav,

same observations I made on ccree patch in this series holds here too.

Moreover you should use get_maintainer.pl script to properly Cc people
(reviewers/maintainers) beside mailing lists (I saw this by chance...):
as an additional note this patch also merges together two fixes for 2
completely different things (it should be split).

But, anyway, most of all, as said for ccree, I don't see the reason for
these kind of fixes given the internals of notifier core.

Thanks,
Cristian

>  drivers/firmware/arm_scmi/notify.c | 3 ++-
>  drivers/firmware/google/gsmi.c     | 6 ++++--
>  2 files changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/firmware/arm_scmi/notify.c b/drivers/firmware/arm_scmi/notify.c
> index 0efd20cd9d69..f4c42ac00c63 100644
> --- a/drivers/firmware/arm_scmi/notify.c
> +++ b/drivers/firmware/arm_scmi/notify.c
> @@ -1358,7 +1358,8 @@ static int scmi_notifier_register(const struct scmi_handle *handle,
>  	if (!hndl)
>  		return -EINVAL;
>  
> -	blocking_notifier_chain_register(&hndl->chain, nb);
> +	if (blocking_notifier_chain_register(&hndl->chain, nb))
> +		pr_warn("SCMI notifier already registered\n");
>  
>  	/* Enable events for not pending handlers */
>  	if (!IS_HNDL_PENDING(hndl)) {
> diff --git a/drivers/firmware/google/gsmi.c b/drivers/firmware/google/gsmi.c
> index adaa492c3d2d..a658e7c106c3 100644
> --- a/drivers/firmware/google/gsmi.c
> +++ b/drivers/firmware/google/gsmi.c
> @@ -1030,8 +1030,10 @@ static __init int gsmi_init(void)
>  
>  	register_reboot_notifier(&gsmi_reboot_notifier);
>  	register_die_notifier(&gsmi_die_notifier);
> -	atomic_notifier_chain_register(&panic_notifier_list,
> -				       &gsmi_panic_notifier);
> +
> +	if (atomic_notifier_chain_register(&panic_notifier_list,
> +					   &gsmi_panic_notifier))
> +		pr_warn("gsmi panic notifier already registered\n");
>  
>  	printk(KERN_INFO "gsmi version " DRIVER_VERSION " loaded\n");
>  
> -- 
> 2.29.2
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
diff mbox series

Patch

diff --git a/drivers/firmware/arm_scmi/notify.c b/drivers/firmware/arm_scmi/notify.c
index 0efd20cd9d69..f4c42ac00c63 100644
--- a/drivers/firmware/arm_scmi/notify.c
+++ b/drivers/firmware/arm_scmi/notify.c
@@ -1358,7 +1358,8 @@  static int scmi_notifier_register(const struct scmi_handle *handle,
 	if (!hndl)
 		return -EINVAL;
 
-	blocking_notifier_chain_register(&hndl->chain, nb);
+	if (blocking_notifier_chain_register(&hndl->chain, nb))
+		pr_warn("SCMI notifier already registered\n");
 
 	/* Enable events for not pending handlers */
 	if (!IS_HNDL_PENDING(hndl)) {
diff --git a/drivers/firmware/google/gsmi.c b/drivers/firmware/google/gsmi.c
index adaa492c3d2d..a658e7c106c3 100644
--- a/drivers/firmware/google/gsmi.c
+++ b/drivers/firmware/google/gsmi.c
@@ -1030,8 +1030,10 @@  static __init int gsmi_init(void)
 
 	register_reboot_notifier(&gsmi_reboot_notifier);
 	register_die_notifier(&gsmi_die_notifier);
-	atomic_notifier_chain_register(&panic_notifier_list,
-				       &gsmi_panic_notifier);
+
+	if (atomic_notifier_chain_register(&panic_notifier_list,
+					   &gsmi_panic_notifier))
+		pr_warn("gsmi panic notifier already registered\n");
 
 	printk(KERN_INFO "gsmi version " DRIVER_VERSION " loaded\n");