Documented in 1 files:

Defined in 1 files as a prototype:

Defined in 1 files as a function:

Referenced in 39 files:

Smatch caller information:

kernel/notifier.c notify_die() -> atomic_notifier_call_chain()

Type Parameter Key Value
PARAM_VALUE 0 nh 2683435221461659648
PARAM_VALUE 1 val 1-3,8-9
PARAM_VALUE 2 v 8427915850492444672
BUF_SIZE 2 v 32
DATA_SOURCE 1 val $0
STR_LEN 0 nh (-1),4-6,8,11-16,19-20,24,27,91
HARD_MAX 1 val 9
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 flags

kernel/panic.c vpanic() -> atomic_notifier_call_chain()

Type Parameter Key Value
PARAM_VALUE 0 nh 5785296075720445952
PARAM_VALUE 1 val 0
PARAM_VALUE 2 v 1065782434005569536
BUF_SIZE 2 v 1024
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 irq

kernel/rcu/tree.c rcu_stall_notifier_call_chain() -> atomic_notifier_call_chain()

Type Parameter Key Value
PARAM_VALUE 0 nh 7412055755736535040
PARAM_VALUE 1 val 1-2
DATA_SOURCE 1 val $0
DATA_SOURCE 2 v $1
HARD_MAX 1 val 2
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 2 v unit_jiffy

net/core/fib_notifier.c call_fib_notifiers() -> atomic_notifier_call_chain()

Type Parameter Key Value
PARAM_VALUE 0 nh 4096-ptr_max
PARAM_VALUE 1 val 0-9
PARAM_VALUE 2 v 4096-ptr_max
DATA_SOURCE 1 val $1
DATA_SOURCE 2 v $2
FUZZY_MAX 1 val 3
HARD_MAX 1 val 9
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &ops->lock

drivers/usb/musb/omap2430.c omap_musb_set_mailbox() -> atomic_notifier_call_chain()

Type Parameter Key Value
PARAM_VALUE 0 nh 4096-ptr_max
PARAM_VALUE 2 v 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

crypto/fips.c fips_fail_notify() -> atomic_notifier_call_chain()

Type Parameter Key Value
PARAM_VALUE 0 nh 3028176281552183296
PARAM_VALUE 1 val 0
PARAM_VALUE 2 v 0
NOCHECK_CALL

drivers/usb/phy/phy.c usb_phy_notify_charger_work() -> atomic_notifier_call_chain()

Type Parameter Key Value
PARAM_VALUE 0 nh 4096-ptr_max
PARAM_VALUE 2 v 4096-ptr_max
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/usb/phy/phy.c usb_phy_notify_charger_work() -> atomic_notifier_call_chain()

Type Parameter Key Value
PARAM_VALUE 0 nh 4096-ptr_max
PARAM_VALUE 1 val 0
PARAM_VALUE 2 v 4096-ptr_max
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

drivers/gpio/gpio-eic-sprd.c sprd_eic_irq_handler() -> atomic_notifier_call_chain()

Type Parameter Key Value
PARAM_VALUE 0 nh 8722979843596443648
PARAM_VALUE 1 val 0
PARAM_VALUE 2 v 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/tty/vt/keyboard.c kbd_keycode() -> atomic_notifier_call_chain()

Type Parameter Key Value
PARAM_VALUE 0 nh 5200271277612441600
PARAM_VALUE 1 val 1
PARAM_VALUE 2 v 1245601926601359360
BUF_SIZE 2 v 24
RX_PATH
TASK_NOT_RUNNING
LOCK2 &dev->event_lock
LOCK2 global &kbd_event_lock
LOCK2 irq
LOCK2 rcu_read
TYPE_LOCK (struct input_dev)->event_lock

drivers/tty/vt/keyboard.c kbd_keycode() -> atomic_notifier_call_chain()

Type Parameter Key Value
PARAM_VALUE 0 nh 5200271277612441600
PARAM_VALUE 1 val 2
PARAM_VALUE 2 v 1245601926601359360
BUF_SIZE 2 v 24
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &dev->event_lock
LOCK2 global &kbd_event_lock
LOCK2 irq
LOCK2 rcu_read
TYPE_LOCK (struct input_dev)->event_lock

drivers/tty/vt/keyboard.c kbd_keycode() -> atomic_notifier_call_chain()

Type Parameter Key Value
PARAM_VALUE 0 nh 5200271277612441600
PARAM_VALUE 1 val 3
PARAM_VALUE 2 v 1245601926601359360
BUF_SIZE 2 v 24
RX_PATH
TASK_NOT_RUNNING
LOCK2 &dev->event_lock
LOCK2 global &kbd_event_lock
LOCK2 irq
LOCK2 rcu_read
TYPE_LOCK (struct input_dev)->event_lock

drivers/tty/vt/keyboard.c kbd_keycode() -> atomic_notifier_call_chain()

Type Parameter Key Value
PARAM_VALUE 0 nh 5200271277612441600
PARAM_VALUE 1 val 4
PARAM_VALUE 2 v 1245601926601359360
BUF_SIZE 2 v 24
RX_PATH
TASK_NOT_RUNNING
LOCK2 &dev->event_lock
LOCK2 global &kbd_event_lock
LOCK2 irq
LOCK2 rcu_read
TYPE_LOCK (struct input_dev)->event_lock

drivers/tty/vt/keyboard.c kbd_keycode() -> atomic_notifier_call_chain()

Type Parameter Key Value
PARAM_VALUE 0 nh 5200271277612441600
PARAM_VALUE 1 val 5
PARAM_VALUE 2 v 1245601926601359360
BUF_SIZE 2 v 24
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &dev->event_lock
LOCK2 global &kbd_event_lock
LOCK2 irq
LOCK2 rcu_read
TYPE_LOCK (struct input_dev)->event_lock

drivers/net/ethernet/mellanox/mlx4/intf.c mlx4_dispatch_event() -> atomic_notifier_call_chain()

Type Parameter Key Value
PARAM_VALUE 0 nh 4096-ptr_max
PARAM_VALUE 1 val 0-2,5-6
PARAM_VALUE 2 *v (-4611686018427387904)-s32max
BUF_SIZE 2 v (-1),4
BUF_SIZE 2 v (-1),4
DATA_SOURCE 1 val $1
DATA_SOURCE 2 v $2
HARD_MAX 1 val 6
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/net/ethernet/mellanox/mlx5/core/pci_irq.c irq_int_handler() -> atomic_notifier_call_chain()

Type Parameter Key Value
PARAM_VALUE 1 val 0
PARAM_VALUE 2 v 0
DATA_SOURCE 0 nh $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 flags

drivers/acpi/apei/ghes.c ghes_do_proc() -> atomic_notifier_call_chain()

Type Parameter Key Value
PARAM_VALUE 0 nh 4026029892809998336
PARAM_VALUE 1 val 0-3
DATA_SOURCE 1 val r ghes_severity
DATA_SOURCE 2 v r acpi_hest_get_payload
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &ghes_notify_lock_irq

net/dcb/dcbevent.c call_dcbevent_notifiers() -> atomic_notifier_call_chain()

Type Parameter Key Value
PARAM_VALUE 0 nh 6537920396898959360
PARAM_VALUE 1 val 1
PARAM_VALUE 2 v 1697821634071429120,6666432107430117376,8313547025439494144
BUF_SIZE 2 v 32
BUF_SIZE 2 v 32
DATA_SOURCE 1 val $0
DATA_SOURCE 2 v $1
RX_PATH
TASK_NOT_RUNNING

drivers/net/ethernet/mellanox/mlx5/core/eq.c mlx5_eq_async_int() -> atomic_notifier_call_chain()

Type Parameter Key Value
PARAM_VALUE 2 v 4096-ptr_max
DATA_SOURCE 2 v r next_eqe_sw
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &eq_async->lock
TYPE_LOCK (struct mlx5_eq_async)->lock

drivers/net/ethernet/mellanox/mlx5/core/eq.c mlx5_eq_async_int() -> atomic_notifier_call_chain()

Type Parameter Key Value
PARAM_VALUE 0 nh 4096-ptr_max
PARAM_VALUE 2 v 4096-ptr_max
BUF_SIZE 0 nh 20480
DATA_SOURCE 2 v r next_eqe_sw
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &eq_async->lock
TYPE_LOCK (struct mlx5_eq_async)->lock

kernel/reboot.c do_kernel_power_off() -> atomic_notifier_call_chain()

Type Parameter Key Value
PARAM_VALUE 0 nh 704711260983877632
PARAM_VALUE 1 val 0
PARAM_VALUE 2 v 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &sc->state_mtx
HALF_LOCKED2 global &device_hotplug_lock
HALF_LOCKED2 global &system_transition_mutex

kernel/reboot.c do_kernel_restart() -> atomic_notifier_call_chain()

Type Parameter Key Value
PARAM_VALUE 0 nh 6595193080418959360
PARAM_VALUE 1 val 0-s32max,18446744071562067968-u64max
BUF_SIZE 2 v (-1),10,27,31,34,256
DATA_SOURCE 2 v $0
STR_LEN 0 nh (-1),9,26,30,33
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/tty/vt/vt.c do_con_write() -> atomic_notifier_call_chain()

Type Parameter Key Value
PARAM_VALUE 0 nh 6450347630561554432
PARAM_VALUE 1 val 5
PARAM_VALUE 2 v 4720751340278161408
BUF_SIZE 2 v 16
RX_PATH
TASK_NOT_RUNNING
LOCK2 global &console_sem
HALF_LOCKED2 &tty->atomic_write_lock
HALF_LOCKED2 &tty->ldisc_sem
HALF_LOCKED2 &tty->legacy_mutex
HALF_LOCKED2 &tty->port->buf.lock
HALF_LOCKED2 &tty->termios_rwsem
HALF_LOCKED2 _T->lock

drivers/tty/vt/vt.c notify_update() -> atomic_notifier_call_chain()

Type Parameter Key Value
PARAM_VALUE 0 nh 6450347630561554432
PARAM_VALUE 1 val 4
PARAM_VALUE 2 v 1210306112079192064
BUF_SIZE 2 v 16
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &printing_lock
HALF_LOCKED2 global &console_sem

drivers/tty/vt/vt.c notify_write() -> atomic_notifier_call_chain()

Type Parameter Key Value
PARAM_VALUE 0 nh 6450347630561554432
PARAM_VALUE 1 val 3
PARAM_VALUE 2 v 4977443109804847104
BUF_SIZE 2 v 16
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &printing_lock
HALF_LOCKED2 global &console_sem

drivers/tty/vt/vt.c vc_allocate() -> atomic_notifier_call_chain()

Type Parameter Key Value
PARAM_VALUE 0 nh 6450347630561554432
PARAM_VALUE 1 val 1
PARAM_VALUE 2 v 5897132818941280256
BUF_SIZE 2 v 16
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &console_sem
HALF_LOCKED2 &tty->legacy_mutex
HALF_LOCKED2 global &system_transition_mutex

drivers/tty/vt/vt.c vc_deallocate() -> atomic_notifier_call_chain()

Type Parameter Key Value
PARAM_VALUE 0 nh 6450347630561554432
PARAM_VALUE 1 val 2
PARAM_VALUE 2 v 6960872829770788864
BUF_SIZE 2 v 16
NOCHECK_CALL
LOCK2 global &console_sem

drivers/char/random.c _credit_init_bits() -> atomic_notifier_call_chain()

Type Parameter Key Value
PARAM_VALUE 0 nh 6719893896652713984
PARAM_VALUE 1 val 0
PARAM_VALUE 2 v 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 irq

drivers/net/ethernet/mellanox/mlx5/core/events.c forward_event() -> atomic_notifier_call_chain()

Type Parameter Key Value
PARAM_VALUE 0 nh 4096-ptr_max
DATA_SOURCE 1 val $1
DATA_SOURCE 2 v $2
NOCHECK_CALL

drivers/net/ethernet/mellanox/mlx5/core/events.c mlx5_notifier_call_chain() -> atomic_notifier_call_chain()

Type Parameter Key Value
PARAM_VALUE 0 nh 4096-ptr_max
PARAM_VALUE 1 val 128-130
PARAM_VALUE 2 v 0-1
DATA_SOURCE 1 val $1
DATA_SOURCE 2 v $2
HARD_MAX 1 val 130
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &devcom->comp->sem
HALF_LOCKED2 &ldev->lock
HALF_LOCKED2 global &rtnl_mutex

drivers/platform/x86/dell/dell-rbtn.c rbtn_notify() -> atomic_notifier_call_chain()

Type Parameter Key Value
PARAM_VALUE 0 nh 5548087043974701056
PARAM_VALUE 1 val 128
PARAM_VALUE 2 v 0
DATA_SOURCE 1 val $1
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

net/ipv6/addrconf_core.c inet6addr_notifier_call_chain() -> atomic_notifier_call_chain()

Type Parameter Key Value
PARAM_VALUE 0 nh 2891385423805874176
PARAM_VALUE 1 val 1-2
PARAM_VALUE 2 v 4096-ptr_max
BUF_SIZE 2 v (-1),464
BUF_SIZE 2 v (-1),464
DATA_SOURCE 1 val $0
DATA_SOURCE 2 v $1
HARD_MAX 1 val 2
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &net->rtnl_mutex
HALF_LOCKED2 global &rtnl_mutex

drivers/gpu/drm/i915/gt/intel_execlists_submission.c execlists_context_status_change() -> atomic_notifier_call_chain()

Type Parameter Key Value
PARAM_VALUE 0 nh 4096-ptr_max
PARAM_VALUE 1 val 0-1
PARAM_VALUE 2 v 4096-ptr_max
DATA_SOURCE 1 val $1
DATA_SOURCE 2 v $0
HARD_MAX 1 val 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read
HALF_LOCKED2 bh
HALF_LOCKED2 irq

drivers/usb/phy/phy-generic.c nop_gpio_vbus_thread() -> atomic_notifier_call_chain()

Type Parameter Key Value
PARAM_VALUE 0 nh 4096-ptr_max
PARAM_VALUE 1 val 1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/usb/phy/phy-generic.c nop_gpio_vbus_thread() -> atomic_notifier_call_chain()

Type Parameter Key Value
PARAM_VALUE 0 nh 4096-ptr_max
PARAM_VALUE 1 val 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/usb/phy/phy-generic.c nop_set_peripheral() -> atomic_notifier_call_chain()

Type Parameter Key Value
PARAM_VALUE 0 nh 4096-ptr_max
PARAM_VALUE 1 val 1
PARAM_VALUE 2 v 4096-ptr_max
DATA_SOURCE 2 v $1
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &udc->connect_lock
HALF_LOCKED2 &musb->lock
HALF_LOCKED2 &of->mutex
HALF_LOCKED2 flags
TYPE_LOCK (struct usb_udc)->connect_lock

drivers/char/ipmi/ipmi_si_intf.c start_next_msg() -> atomic_notifier_call_chain()

Type Parameter Key Value
PARAM_VALUE 0 nh 1206776876930428928
PARAM_VALUE 1 val 0
PARAM_VALUE 2 v 4096-ptr_max
BUF_SIZE 2 v (-1),128,208,272,512,608,624,984,1000
DATA_SOURCE 2 v $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &smi_info->si_lock
HALF_LOCKED2 flags

net/switchdev/switchdev.c call_switchdev_notifiers() -> atomic_notifier_call_chain()

Type Parameter Key Value
PARAM_VALUE 0 nh 359812161196941312
PARAM_VALUE 1 val 1-6,9-14
PARAM_VALUE 2 v 4096-ptr_max
DATA_SOURCE 1 val $0
DATA_SOURCE 2 v $2
FUZZY_MAX 1 val 13
HARD_MAX 1 val 14
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &pool->lock
HALF_LOCKED2 &port_priv->priv->lock
HALF_LOCKED2 global &rtnl_mutex

net/core/netevent.c call_netevent_notifiers() -> atomic_notifier_call_chain()

Type Parameter Key Value
PARAM_VALUE 0 nh 766089687443968000
PARAM_VALUE 1 val 1-6
PARAM_VALUE 2 v 0-ptr_max
BUF_SIZE 2 v (-1)-s32max
BUF_SIZE 2 v (-1)-s32max
DATA_SOURCE 1 val $0
DATA_SOURCE 2 v $1
HARD_MAX 1 val 6
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
UNITS 2 v unit_byte
HALF_LOCKED2 &tbl->lock
HALF_LOCKED2 bh
HALF_LOCKED2 rcu_read

net/atm/common.c atm_dev_signal_change() -> atomic_notifier_call_chain()

Type Parameter Key Value
PARAM_VALUE 0 nh 5142054241511063552
PARAM_VALUE 1 val 0-2
PARAM_VALUE 2 v 4096-ptr_max
DATA_SOURCE 1 val $1
DATA_SOURCE 2 v $0
HARD_MAX 1 val 2
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL