All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cristian Marussi <cristian.marussi@arm.com>
To: Borislav Petkov <bp@alien8.de>
Cc: LKML <linux-kernel@vger.kernel.org>, linux-crypto@vger.kernel.org
Subject: Re: [PATCH v0 39/42] crypto: ccree - check notifier registration return value
Date: Fri, 12 Nov 2021 18:32:33 +0000	[thread overview]
Message-ID: <20211112183233.GB6655@e120937-lin> (raw)
In-Reply-To: <20211108101157.15189-40-bp@alien8.de>

On Mon, Nov 08, 2021 at 11:11:54AM +0100, Borislav Petkov wrote:
> From: Borislav Petkov <bp@suse.de>
> 
> Avoid homegrown notifier registration checks.
> 
> No functional changes.
> 

Hi Borislav,

> Signed-off-by: Borislav Petkov <bp@suse.de>
> Cc: linux-crypto@vger.kernel.org
> ---
>  drivers/crypto/ccree/cc_fips.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/crypto/ccree/cc_fips.c b/drivers/crypto/ccree/cc_fips.c
> index 702aefc21447..de842da7d51c 100644
> --- a/drivers/crypto/ccree/cc_fips.c
> +++ b/drivers/crypto/ccree/cc_fips.c
> @@ -146,7 +146,9 @@ int cc_fips_init(struct cc_drvdata *p_drvdata)
>  	tasklet_init(&fips_h->tasklet, fips_dsr, (unsigned long)p_drvdata);
>  	fips_h->drvdata = p_drvdata;
>  	fips_h->nb.notifier_call = cc_ree_fips_failure;
> -	atomic_notifier_chain_register(&fips_fail_notif_chain, &fips_h->nb);
> +
> +	if (atomic_notifier_chain_register(&fips_fail_notif_chain, &fips_h->nb))
> +		pr_warn("Failure notifier already registered\n");
>  

Looking at the implementation of atomic_notifier_chain_register() and
its internal helper down below, I can see that atomic_notifier_chain_register()
ALWAYS return 0 (O_o) and anyway there is a WARN() in the notifiier core already
to alert of double registrations.

What is the aim of this patch ?
It's not clear from the commit message what are you trying to achieve.
Am I missing something ?
(Is it to circumvent some static checker to avoid this false positive ?
just guessing...)

Thanks,
Cristian

-----8<----------
static int notifier_chain_register(struct notifier_block **nl,
                struct notifier_block *n)
{
        while ((*nl) != NULL) {
                if (unlikely((*nl) == n)) {
                        WARN(1, "double register detected");
                        return 0;
                }
                if (n->priority > (*nl)->priority)
                        break;
                nl = &((*nl)->next);
        }
        n->next = *nl;
        rcu_assign_pointer(*nl, n);
        return 0;
}

/**
 *      atomic_notifier_chain_register - Add notifier to an atomic notifier chain
 *      @nh: Pointer to head of the atomic notifier chain
 *      @n: New entry in notifier chain
 *
 *      Adds a notifier to an atomic notifier chain.
 *
 *      Currently always returns zero.
 */
int atomic_notifier_chain_register(struct atomic_notifier_head *nh,
                struct notifier_block *n)
{
        unsigned long flags;
        int ret;

        spin_lock_irqsave(&nh->lock, flags);
        ret = notifier_chain_register(&nh->head, n);
        spin_unlock_irqrestore(&nh->lock, flags);
        return ret;
}
EXPORT_SYMBOL_GPL(atomic_notifier_chain_register);
------

  reply	other threads:[~2021-11-12 18:32 UTC|newest]

Thread overview: 151+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-08 10:11 [PATCH v0 00/42] notifiers: Return an error when callback is already registered Borislav Petkov
2021-11-08 10:11 ` [PATCH v0 01/42] x86: Check notifier registration return value Borislav Petkov
2021-11-08 10:11 ` [PATCH v0 02/42] xen/x86: " Borislav Petkov
2021-11-08 10:11 ` [PATCH v0 03/42] impi: " Borislav Petkov
2021-11-08 10:11 ` [PATCH v0 04/42] clk: renesas: " Borislav Petkov
2021-11-08 14:12   ` Geert Uytterhoeven
2021-11-08 10:11 ` [PATCH v0 05/42] dca: " Borislav Petkov
2021-11-08 10:11 ` [PATCH v0 06/42] firmware: " Borislav Petkov
2021-11-08 10:11   ` Borislav Petkov
2021-11-12 18:43   ` Cristian Marussi
2021-11-12 18:43     ` Cristian Marussi
2021-11-08 10:11 ` [PATCH v0 07/42] drm/i915: " Borislav Petkov
2021-11-08 10:11   ` [Intel-gfx] " Borislav Petkov
2021-11-08 10:11 ` [PATCH v0 08/42] Drivers: hv: vmbus: " Borislav Petkov
2021-11-08 11:16   ` Wei Liu
2021-11-08 11:39     ` Borislav Petkov
2021-11-08 11:45       ` Wei Liu
2021-11-08 12:08         ` Borislav Petkov
2021-11-08 10:11 ` [PATCH v0 09/42] iio: proximity: cros_ec: " Borislav Petkov
2021-11-08 10:11 ` [PATCH v0 10/42] leds: trigger: " Borislav Petkov
2021-11-08 10:11 ` [PATCH v0 11/42] misc: " Borislav Petkov
2021-11-08 10:11 ` [PATCH v0 12/42] ethernet: chelsio: " Borislav Petkov
2021-11-08 10:11 ` [PATCH v0 13/42] power: reset: " Borislav Petkov
2021-11-08 10:11 ` [PATCH v0 14/42] remoteproc: " Borislav Petkov
2021-11-08 10:11 ` [PATCH v0 15/42] scsi: target: " Borislav Petkov
2021-11-08 10:11 ` [PATCH v0 16/42] USB: " Borislav Petkov
2021-11-08 14:05   ` Alan Stern
2021-11-08 14:09     ` Borislav Petkov
2021-11-08 10:11 ` [PATCH v0 17/42] drivers: video: " Borislav Petkov
2021-11-08 11:16   ` Wei Liu
2021-11-08 10:11 ` [PATCH v0 18/42] drivers/xen: " Borislav Petkov
2021-11-08 10:11 ` [PATCH v0 19/42] kernel/hung_task: " Borislav Petkov
2021-11-08 10:11 ` [PATCH v0 20/42] rcu: " Borislav Petkov
2021-11-08 16:53   ` Paul E. McKenney
2021-11-08 10:11 ` [PATCH v0 21/42] tracing: " Borislav Petkov
2021-11-08 10:11 ` [PATCH v0 22/42] net: fib_notifier: " Borislav Petkov
2021-11-08 10:11 ` [PATCH v0 23/42] ASoC: soc-jack: " Borislav Petkov
2021-11-08 10:11 ` [PATCH v0 24/42] staging: olpc_dcon: " Borislav Petkov
2021-11-08 10:11 ` [PATCH v0 25/42] arch/um: " Borislav Petkov
2021-11-08 10:11   ` Borislav Petkov
2021-11-08 10:23   ` Johannes Berg
2021-11-08 10:23     ` Johannes Berg
2021-11-08 10:48     ` Borislav Petkov
2021-11-08 10:48       ` Borislav Petkov
2021-11-08 10:56       ` Johannes Berg
2021-11-08 10:56         ` Johannes Berg
2021-11-08 10:11 ` [PATCH v0 26/42] alpha: " Borislav Petkov
2021-11-08 10:11 ` [PATCH v0 27/42] bus: brcmstb_gisb: " Borislav Petkov
2021-11-08 10:11 ` [PATCH v0 28/42] soc: bcm: brcmstb: pm: pm-arm: " Borislav Petkov
2021-11-08 10:11 ` [PATCH v0 29/42] arm64: " Borislav Petkov
2021-11-08 10:11   ` Borislav Petkov
2021-11-08 10:11 ` [PATCH v0 30/42] soc/tegra: " Borislav Petkov
2021-11-08 10:11 ` [PATCH v0 31/42] parisc: " Borislav Petkov
2021-11-08 10:11 ` [PATCH v0 32/42] macintosh/adb: " Borislav Petkov
2021-11-08 10:11   ` Borislav Petkov
2021-11-08 10:11 ` [PATCH v0 33/42] mips: " Borislav Petkov
2021-11-08 10:11 ` [PATCH v0 34/42] powerpc: " Borislav Petkov
2021-11-08 10:11 ` [PATCH v0 35/42] sh: " Borislav Petkov
2021-11-08 13:31   ` Geert Uytterhoeven
2021-11-08 13:49     ` Borislav Petkov
2021-11-08 14:03       ` Geert Uytterhoeven
2021-11-08 14:48   ` Sergey Shtylyov
2021-11-08 10:11 ` [PATCH v0 36/42] s390: " Borislav Petkov
2021-11-08 10:11 ` [PATCH v0 37/42] sparc: " Borislav Petkov
2021-11-08 19:59   ` David Miller
2021-11-08 10:11 ` [PATCH v0 38/42] xtensa: " Borislav Petkov
2021-11-08 10:11 ` [PATCH v0 39/42] crypto: ccree - check " Borislav Petkov
2021-11-12 18:32   ` Cristian Marussi [this message]
2021-11-12 18:48     ` Borislav Petkov
2021-11-08 10:11 ` [PATCH v0 40/42] EDAC/altera: Check " Borislav Petkov
2021-11-08 10:11 ` [PATCH v0 41/42] power: supply: ab8500: " Borislav Petkov
2021-11-08 10:11 ` [PATCH v0 42/42] notifier: Return an error when callback is already registered Borislav Petkov
2021-11-08 10:11   ` Borislav Petkov
2021-11-08 10:11   ` Borislav Petkov
2021-11-08 10:11   ` Borislav Petkov
2021-11-08 10:11   ` [Intel-gfx] " Borislav Petkov
2021-11-08 10:11   ` Borislav Petkov
2021-11-08 14:07   ` Geert Uytterhoeven
2021-11-08 14:07     ` Geert Uytterhoeven
2021-11-08 14:07     ` Geert Uytterhoeven
2021-11-08 14:07     ` [Intel-gfx] " Geert Uytterhoeven
2021-11-08 14:07     ` Geert Uytterhoeven
2021-11-08 14:21     ` Borislav Petkov
2021-11-08 14:21       ` Borislav Petkov
2021-11-08 14:21       ` Borislav Petkov
2021-11-08 14:21       ` [Intel-gfx] " Borislav Petkov
2021-11-08 14:21       ` Borislav Petkov
2021-11-08 15:25       ` Geert Uytterhoeven
2021-11-08 15:25         ` Geert Uytterhoeven
2021-11-08 15:25         ` Geert Uytterhoeven
2021-11-08 15:25         ` Geert Uytterhoeven
2021-11-08 15:25         ` [Intel-gfx] " Geert Uytterhoeven
2021-11-08 15:58         ` Borislav Petkov
2021-11-08 15:58           ` Borislav Petkov
2021-11-08 15:58           ` Borislav Petkov
2021-11-08 15:58           ` [Intel-gfx] " Borislav Petkov
2021-11-08 15:58           ` Borislav Petkov
2021-11-08 16:12           ` Geert Uytterhoeven
2021-11-08 16:12             ` Geert Uytterhoeven
2021-11-08 16:12             ` Geert Uytterhoeven
2021-11-08 16:12             ` [Intel-gfx] " Geert Uytterhoeven
2021-11-08 16:12             ` Geert Uytterhoeven
2021-11-08 16:21             ` Borislav Petkov
2021-11-08 16:21               ` Borislav Petkov
2021-11-08 16:21               ` Borislav Petkov
2021-11-08 16:21               ` Borislav Petkov
2021-11-08 16:21               ` [Intel-gfx] " Borislav Petkov
2021-11-08 20:59               ` Alan Stern
2021-11-08 20:59                 ` Alan Stern
2021-11-08 20:59                 ` Alan Stern
2021-11-08 20:59                 ` Alan Stern
2021-11-08 20:59                 ` [Intel-gfx] " Alan Stern
2021-11-08 20:59                 ` Alan Stern
2021-11-08 21:18                 ` [Intel-gfx] " Borislav Petkov
2021-11-08 21:18                   ` Borislav Petkov
2021-11-08 21:18                   ` Borislav Petkov
2021-11-08 21:18                   ` Borislav Petkov
2021-11-08 21:18                   ` Borislav Petkov
2021-11-08 10:19 ` [PATCH v0 00/42] notifiers: " Borislav Petkov
2021-11-08 10:19   ` Borislav Petkov
2021-11-08 10:19   ` Borislav Petkov
2021-11-08 10:19   ` Borislav Petkov
2021-11-08 10:19   ` Borislav Petkov
2021-11-08 10:19   ` [Intel-gfx] " Borislav Petkov
2021-11-08 14:17   ` Alan Stern
2021-11-08 14:17     ` Alan Stern
2021-11-08 14:17     ` Alan Stern
2021-11-08 14:17     ` Alan Stern
2021-11-08 14:17     ` [Intel-gfx] " Alan Stern
2021-11-08 14:17     ` Alan Stern
2021-11-08 14:24     ` Borislav Petkov
2021-11-08 14:24       ` Borislav Petkov
2021-11-08 14:24       ` Borislav Petkov
2021-11-08 14:24       ` Borislav Petkov
2021-11-08 14:24       ` [Intel-gfx] " Borislav Petkov
2021-11-08 14:24       ` Borislav Petkov
2021-11-08 14:35       ` Borislav Petkov
2021-11-08 14:35         ` Borislav Petkov
2021-11-08 14:35         ` Borislav Petkov
2021-11-08 14:35         ` [Intel-gfx] " Borislav Petkov
2021-11-08 14:35         ` Borislav Petkov
2021-11-08 16:23         ` Steven Rostedt
2021-11-08 16:23           ` Steven Rostedt
2021-11-08 16:23           ` Steven Rostedt
2021-11-08 16:23           ` [Intel-gfx] " Steven Rostedt
2021-11-08 16:23           ` Steven Rostedt
2021-11-08 16:29           ` Borislav Petkov
2021-11-08 16:29             ` Borislav Petkov
2021-11-08 16:29             ` Borislav Petkov
2021-11-08 16:29             ` [Intel-gfx] " Borislav Petkov
2021-11-08 16:29             ` Borislav Petkov

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=20211112183233.GB6655@e120937-lin \
    --to=cristian.marussi@arm.com \
    --cc=bp@alien8.de \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.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.