[PATCH v0 00/42] notifiers: Return an error when callback is already registered
Borislav Petkov
bp at alien8.de
Mon Nov 8 02:19:24 PST 2021
From: Borislav Petkov <bp at suse.de>
Hi all,
this is a huge patchset for something which is really trivial - it
changes the notifier registration routines to return an error value
if a notifier callback is already present on the respective list of
callbacks. For more details scroll to the last patch.
Everything before it is converting the callers to check the return value
of the registration routines and issue a warning, instead of the WARN()
notifier_chain_register() does now.
Before the last patch has been applied, though, that checking is a
NOP which would make the application of those patches trivial - every
maintainer can pick a patch at her/his discretion - only the last one
enables the build warnings and that one will be queued only after the
preceding patches have all been merged so that there are no build
warnings.
Due to the sheer volume of the patches, I have addressed the respective
patch and the last one, which enables the warning, with addressees for
each maintained area so as not to spam people unnecessarily.
If people prefer I carry some through tip, instead, I'll gladly do so -
your call.
And, if you think the warning messages need to be more precise, feel
free to adjust them before committing.
Thanks!
Cc: Arnd Bergmann <arnd at arndb.de>
Cc: Ayush Sawal <ayush.sawal at chelsio.com>
Cc: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
Cc: Rohit Maheshwari <rohitm at chelsio.com>
Cc: Steven Rostedt <rostedt at goodmis.org>
Cc: Vinay Kumar Yadav <vinay.yadav at chelsio.com>
Cc: alsa-devel at alsa-project.org
Cc: bcm-kernel-feedback-list at broadcom.com
Cc: intel-gfx at lists.freedesktop.org
Cc: intel-gvt-dev at lists.freedesktop.org
Cc: linux-alpha at vger.kernel.org
Cc: linux-arm-kernel at lists.infradead.org
Cc: linux-arm-kernel at lists.infradead.org
Cc: linux-clk at vger.kernel.org
Cc: linux-crypto at vger.kernel.org
Cc: linux-edac at vger.kernel.org
Cc: linux-fbdev at vger.kernel.org
Cc: linux-hyperv at vger.kernel.org
Cc: linux-iio at vger.kernel.org
Cc: linux-leds at vger.kernel.org
Cc: linux-mips at vger.kernel.org
Cc: linux-parisc at vger.kernel.org
Cc: linux-pm at vger.kernel.org
Cc: linuxppc-dev at lists.ozlabs.org
Cc: linux-remoteproc at vger.kernel.org
Cc: linux-renesas-soc at vger.kernel.org
Cc: linux-s390 at vger.kernel.org
Cc: linux-scsi at vger.kernel.org
Cc: linux-sh at vger.kernel.org
Cc: linux-staging at lists.linux.dev
Cc: linux-tegra at vger.kernel.org
Cc: linux-um at lists.infradead.org
Cc: linux-usb at vger.kernel.org
Cc: linux-xtensa at linux-xtensa.org
Cc: netdev at vger.kernel.org
Cc: openipmi-developer at lists.sourceforge.net
Cc: rcu at vger.kernel.org
Cc: sparclinux at vger.kernel.org
Cc: x86 at kernel.org
Cc: xen-devel at lists.xenproject.org
Borislav Petkov (42):
x86: Check notifier registration return value
xen/x86: Check notifier registration return value
impi: Check notifier registration return value
clk: renesas: Check notifier registration return value
dca: Check notifier registration return value
firmware: Check notifier registration return value
drm/i915: Check notifier registration return value
Drivers: hv: vmbus: Check notifier registration return value
iio: proximity: cros_ec: Check notifier registration return value
leds: trigger: Check notifier registration return value
misc: Check notifier registration return value
ethernet: chelsio: Check notifier registration return value
power: reset: Check notifier registration return value
remoteproc: Check notifier registration return value
scsi: target: Check notifier registration return value
USB: Check notifier registration return value
drivers: video: Check notifier registration return value
drivers/xen: Check notifier registration return value
kernel/hung_task: Check notifier registration return value
rcu: Check notifier registration return value
tracing: Check notifier registration return value
net: fib_notifier: Check notifier registration return value
ASoC: soc-jack: Check notifier registration return value
staging: olpc_dcon: Check notifier registration return value
arch/um: Check notifier registration return value
alpha: Check notifier registration return value
bus: brcmstb_gisb: Check notifier registration return value
soc: bcm: brcmstb: pm: pm-arm: Check notifier registration return
value
arm64: Check notifier registration return value
soc/tegra: Check notifier registration return value
parisc: Check notifier registration return value
macintosh/adb: Check notifier registration return value
mips: Check notifier registration return value
powerpc: Check notifier registration return value
sh: Check notifier registration return value
s390: Check notifier registration return value
sparc: Check notifier registration return value
xtensa: Check notifier registration return value
crypto: ccree - check notifier registration return value
EDAC/altera: Check notifier registration return value
power: supply: ab8500: Check notifier registration return value
notifier: Return an error when callback is already registered
arch/alpha/kernel/setup.c | 5 +--
arch/arm64/kernel/setup.c | 6 ++--
arch/mips/kernel/relocate.c | 6 ++--
arch/mips/sgi-ip22/ip22-reset.c | 4 ++-
arch/mips/sgi-ip32/ip32-reset.c | 4 ++-
arch/parisc/kernel/pdc_chassis.c | 5 +--
arch/powerpc/kernel/setup-common.c | 12 ++++---
arch/s390/kernel/ipl.c | 4 ++-
arch/s390/kvm/kvm-s390.c | 7 ++--
arch/sh/kernel/cpu/sh4a/setup-sh7724.c | 11 +++---
arch/sparc/kernel/sstate.c | 6 ++--
arch/um/drivers/mconsole_kern.c | 6 ++--
arch/um/kernel/um_arch.c | 5 +--
arch/x86/kernel/cpu/mce/core.c | 3 +-
arch/x86/kernel/cpu/mce/dev-mcelog.c | 3 +-
arch/x86/kernel/setup.c | 7 ++--
arch/x86/xen/enlighten.c | 4 ++-
arch/xtensa/platforms/iss/setup.c | 3 +-
drivers/bus/brcmstb_gisb.c | 6 ++--
drivers/char/ipmi/ipmi_msghandler.c | 3 +-
drivers/clk/renesas/clk-div6.c | 4 ++-
drivers/clk/renesas/rcar-cpg-lib.c | 4 ++-
drivers/crypto/ccree/cc_fips.c | 4 ++-
drivers/dca/dca-core.c | 3 +-
drivers/edac/altera_edac.c | 6 ++--
drivers/firmware/arm_scmi/notify.c | 3 +-
drivers/firmware/google/gsmi.c | 6 ++--
drivers/gpu/drm/i915/gvt/scheduler.c | 6 ++--
drivers/hv/vmbus_drv.c | 4 +--
.../iio/proximity/cros_ec_mkbp_proximity.c | 3 +-
drivers/leds/trigger/ledtrig-activity.c | 6 ++--
drivers/leds/trigger/ledtrig-heartbeat.c | 6 ++--
drivers/leds/trigger/ledtrig-panic.c | 4 +--
drivers/macintosh/adbhid.c | 4 +--
drivers/misc/ibmasm/heartbeat.c | 3 +-
drivers/misc/pvpanic/pvpanic.c | 3 +-
.../chelsio/inline_crypto/chtls/chtls_main.c | 5 ++-
drivers/parisc/power.c | 5 +--
drivers/power/reset/ltc2952-poweroff.c | 6 ++--
drivers/power/supply/ab8500_charger.c | 8 ++---
drivers/remoteproc/qcom_common.c | 3 +-
drivers/remoteproc/qcom_sysmon.c | 4 ++-
drivers/remoteproc/remoteproc_core.c | 4 ++-
drivers/s390/char/con3215.c | 5 ++-
drivers/s390/char/con3270.c | 5 ++-
drivers/s390/char/sclp_con.c | 4 ++-
drivers/s390/char/sclp_vt220.c | 4 ++-
drivers/s390/char/zcore.c | 4 ++-
drivers/soc/bcm/brcmstb/pm/pm-arm.c | 5 +--
drivers/soc/tegra/ari-tegra186.c | 7 ++--
drivers/staging/olpc_dcon/olpc_dcon.c | 4 ++-
drivers/target/tcm_fc/tfc_conf.c | 4 ++-
drivers/usb/core/notify.c | 3 +-
drivers/video/console/dummycon.c | 3 +-
drivers/video/fbdev/hyperv_fb.c | 5 +--
drivers/xen/manage.c | 3 +-
drivers/xen/xenbus/xenbus_probe.c | 8 +++--
include/linux/notifier.h | 8 ++---
kernel/hung_task.c | 3 +-
kernel/notifier.c | 36 ++++++++++---------
kernel/rcu/tree_stall.h | 4 ++-
kernel/trace/trace.c | 4 +--
net/core/fib_notifier.c | 4 ++-
sound/soc/soc-jack.c | 3 +-
64 files changed, 222 insertions(+), 118 deletions(-)
--
2.29.2
More information about the linux-arm-kernel
mailing list