Defined in 1 files as a prototype:

Defined in 2 files as a function:

Referenced in 17 files:

Smatch caller information:

kernel/panic.c touch_nmi_watchdog() -> touch_softlockup_watchdog()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 flags
HALF_LOCKED2 irq

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

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

kernel/rcu/tree.c touch_nmi_watchdog() -> touch_softlockup_watchdog()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
HALF_LOCKED2 &rnp->lock

lib/nmi_backtrace.c nmi_trigger_cpumask_backtrace() -> touch_softlockup_watchdog()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
NOCHECK_CALL

arch/x86/hyperv/nested.c touch_nmi_watchdog() -> touch_softlockup_watchdog()

Type Parameter Key Value
PREEMPT_ADD
NOCHECK_CALL
LOCK2 &kvm_arch->hv_root_tdp_lock
LOCK2 flags
TYPE_LOCK (struct kvm_arch)->hv_root_tdp_lock

drivers/video/fbdev/nvidia/nv_accel.c nvidiafb_safe_mode() -> touch_softlockup_watchdog()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

fs/xfs/xfs_pwork.c xfs_pwork_poll() -> touch_softlockup_watchdog()

Type Parameter Key Value
RX_PATH
NOCHECK_CALL

arch/x86/hyperv/hv_apic.c touch_nmi_watchdog() -> touch_softlockup_watchdog()

Type Parameter Key Value
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags

mm/oom_kill.c dump_tasks() -> touch_softlockup_watchdog()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &oom_lock
LOCK2 rcu_read

kernel/rcu/rcutorture.c rcu_torture_stall_one() -> touch_softlockup_watchdog()

Type Parameter Key Value
NOCHECK_CALL
HALF_LOCKED2 irq
HALF_LOCKED2 rcu_read

drivers/hv/hv_balloon.c touch_nmi_watchdog() -> touch_softlockup_watchdog()

Type Parameter Key Value
NOCHECK_CALL
LOCK2 &pool->lock
LOCK2 flags

arch/x86/kernel/dumpstack.c touch_nmi_watchdog() -> touch_softlockup_watchdog()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

arch/x86/xen/smp_pv.c cpu_bringup() -> touch_softlockup_watchdog()

Type Parameter Key Value
NOCHECK_CALL

arch/x86/platform/uv/uv_nmi.c touch_nmi_watchdog() -> touch_softlockup_watchdog()

Type Parameter Key Value
NOCHECK_CALL
LOCK2 flags
LOCK2 rcu_read
HALF_LOCKED2 global &nmi_reason_lock

drivers/scsi/ips.c touch_nmi_watchdog() -> touch_softlockup_watchdog()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

arch/x86/kernel/nmi.c touch_nmi_watchdog() -> touch_softlockup_watchdog()

Type Parameter Key Value
PREEMPT_ADD
NOCHECK_CALL
LOCK2 global &nmi_reason_lock

kernel/time/timer_list.c touch_nmi_watchdog() -> touch_softlockup_watchdog()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &m->lock

mm/mm_init.c touch_nmi_watchdog() -> touch_softlockup_watchdog()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &pgdat->node_size_lock
LOCK2 flags
TYPE_LOCK (struct pglist_data)->node_size_lock

kernel/printk/printk.c touch_nmi_watchdog() -> touch_softlockup_watchdog()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

arch/x86/kernel/cpu/microcode/core.c touch_nmi_watchdog() -> touch_softlockup_watchdog()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

arch/x86/kernel/kgdb.c touch_nmi_watchdog() -> touch_softlockup_watchdog()

Type Parameter Key Value
NOCHECK_CALL
HALF_LOCKED2 rcu_read

arch/x86/kernel/cpu/mce/core.c touch_nmi_watchdog() -> touch_softlockup_watchdog()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 flags

kernel/hung_task.c touch_nmi_watchdog() -> touch_softlockup_watchdog()

Type Parameter Key Value
NOCHECK_CALL
LOCK2 rcu_read

kernel/power/snapshot.c rtree_next_node() -> touch_softlockup_watchdog()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &device_hotplug_lock
HALF_LOCKED2 global &system_transition_mutex
HALF_LOCKED2 irq

kernel/power/snapshot.c touch_nmi_watchdog() -> touch_softlockup_watchdog()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &zone->lock
LOCK2 flags
TYPE_LOCK (struct zone)->lock

drivers/acpi/osl.c touch_nmi_watchdog() -> touch_softlockup_watchdog()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/mtd/nand/raw/nand_legacy.c nand_wait_status_ready() -> touch_softlockup_watchdog()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &chip->controller->lock
HALF_LOCKED2 &chip->lock

drivers/mtd/nand/raw/nand_legacy.c panic_nand_wait_ready() -> touch_softlockup_watchdog()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &chip->controller->lock
HALF_LOCKED2 &chip->controller->lock
HALF_LOCKED2 &chip->lock
HALF_LOCKED2 &chip->lock

kernel/debug/kdb/kdb_bt.c touch_nmi_watchdog() -> touch_softlockup_watchdog()

Type Parameter Key Value
NOCHECK_CALL
HALF_LOCKED2 rcu_read

kernel/locking/lockdep.c touch_nmi_watchdog() -> touch_softlockup_watchdog()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read

arch/x86/hyperv/irqdomain.c touch_nmi_watchdog() -> touch_softlockup_watchdog()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
HALF_LOCKED2 global &ioapic_lock
HALF_LOCKED2 irq

arch/x86/hyperv/mmu.c touch_nmi_watchdog() -> touch_softlockup_watchdog()

Type Parameter Key Value
NOCHECK_CALL
LOCK2 flags

kernel/time/timekeeping.c timekeeping_resume() -> touch_softlockup_watchdog()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &tick_freeze_lock
HALF_LOCKED2 irq

lib/test_lockup.c test_lockup() -> touch_softlockup_watchdog()

Type Parameter Key Value
NOCHECK_CALL

lib/test_lockup.c touch_nmi_watchdog() -> touch_softlockup_watchdog()

Type Parameter Key Value
NOCHECK_CALL

kernel/sched/build_utility.c touch_nmi_watchdog() -> touch_softlockup_watchdog()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read
HALF_LOCKED2 &dev->event_lock
HALF_LOCKED2 global &kbd_event_lock
HALF_LOCKED2 irq

drivers/tty/serial/pch_uart.c touch_nmi_watchdog() -> touch_softlockup_watchdog()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 flags

drivers/tty/serial/lpc32xx_hs.c touch_nmi_watchdog() -> touch_softlockup_watchdog()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 flags

drivers/tty/serial/8250/8250_port.c touch_nmi_watchdog() -> touch_softlockup_watchdog()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/acpi/apei/erst.c touch_nmi_watchdog() -> touch_softlockup_watchdog()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 flags
HALF_LOCKED2 global &erst_lock
HALF_LOCKED2 global &erst_record_id_cache.lock

kernel/time/tick-common.c tick_unfreeze() -> touch_softlockup_watchdog()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 global &tick_freeze_lock
LOCK2 irq

kernel/debug/kdb/kdb_io.c touch_nmi_watchdog() -> touch_softlockup_watchdog()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 flags

kernel/trace/trace.c touch_nmi_watchdog() -> touch_softlockup_watchdog()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags

kernel/power/hibernate.c resume_target_kernel() -> touch_softlockup_watchdog()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 global &device_hotplug_lock
LOCK2 global &system_transition_mutex
LOCK2 irq

arch/x86/hyperv/ivm.c touch_nmi_watchdog() -> touch_softlockup_watchdog()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
HALF_LOCKED2 global &mem_enc_lock
HALF_LOCKED2 irq

kernel/stop_machine.c touch_nmi_watchdog() -> touch_softlockup_watchdog()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &stop_cpus_mutex
HALF_LOCKED2 irq

drivers/misc/kgdbts.c touch_nmi_watchdog() -> touch_softlockup_watchdog()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 flags

arch/x86/kernel/tsc_sync.c touch_nmi_watchdog() -> touch_softlockup_watchdog()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/platform/x86/intel/ifs/runtest.c touch_nmi_watchdog() -> touch_softlockup_watchdog()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &stop_cpus_mutex
HALF_LOCKED2 irq

drivers/firmware/efi/unaccepted_memory.c accept_memory() -> touch_softlockup_watchdog()

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
LOCK2 global &unaccepted_memory_lock
HALF_LOCKED2 flags

kernel/workqueue.c touch_nmi_watchdog() -> touch_softlockup_watchdog()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 rcu_read

kernel/sched/core.c touch_nmi_watchdog() -> touch_softlockup_watchdog()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read
HALF_LOCKED2 &dev->event_lock
HALF_LOCKED2 global &kbd_event_lock
HALF_LOCKED2 irq