diff mbox series

[v0,16/42] USB: Check notifier registration return value

Message ID 20211108101157.15189-17-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-usb@vger.kernel.org
---
 drivers/usb/core/notify.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Alan Stern Nov. 8, 2021, 2:05 p.m. UTC | #1
On Mon, Nov 08, 2021 at 11:11:31AM +0100, Borislav Petkov wrote:
> From: Borislav Petkov <bp@suse.de>
> 
> Avoid homegrown notifier registration checks.

This is a rather misleading description.  The patch does exactly the 
opposite: It _adds_ a homegrown notifier registration check.  (Homegrown 
in the sense that the check is made by the individual caller rather than 
being centralized in the routine being called.)

Alan Stern

> No functional changes.
> 
> Signed-off-by: Borislav Petkov <bp@suse.de>
> Cc: linux-usb@vger.kernel.org
> ---
>  drivers/usb/core/notify.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/usb/core/notify.c b/drivers/usb/core/notify.c
> index e6143663778f..80d1bfa61887 100644
> --- a/drivers/usb/core/notify.c
> +++ b/drivers/usb/core/notify.c
> @@ -28,7 +28,8 @@ static BLOCKING_NOTIFIER_HEAD(usb_notifier_list);
>   */
>  void usb_register_notify(struct notifier_block *nb)
>  {
> -	blocking_notifier_chain_register(&usb_notifier_list, nb);
> +	if (blocking_notifier_chain_register(&usb_notifier_list, nb))
> +		pr_warn("USB change notifier already registered\n");
>  }
>  EXPORT_SYMBOL_GPL(usb_register_notify);
>  
> -- 
> 2.29.2
>
Borislav Petkov Nov. 8, 2021, 2:09 p.m. UTC | #2
On Mon, Nov 08, 2021 at 09:05:53AM -0500, Alan Stern wrote:
> This is a rather misleading description.  The patch does exactly the 
> opposite: It _adds_ a homegrown notifier registration check.  (Homegrown 
> in the sense that the check is made by the individual caller rather than 
> being centralized in the routine being called.)

See the 0th message - there is a link to another example of what I mean
with "homegrown" but I see your point.

Thx.
diff mbox series

Patch

diff --git a/drivers/usb/core/notify.c b/drivers/usb/core/notify.c
index e6143663778f..80d1bfa61887 100644
--- a/drivers/usb/core/notify.c
+++ b/drivers/usb/core/notify.c
@@ -28,7 +28,8 @@  static BLOCKING_NOTIFIER_HEAD(usb_notifier_list);
  */
 void usb_register_notify(struct notifier_block *nb)
 {
-	blocking_notifier_chain_register(&usb_notifier_list, nb);
+	if (blocking_notifier_chain_register(&usb_notifier_list, nb))
+		pr_warn("USB change notifier already registered\n");
 }
 EXPORT_SYMBOL_GPL(usb_register_notify);