Documented in 1 files:

Defined in 1 files as a function:

Referenced in 37 files:

Smatch caller information:

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

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags

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

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

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

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

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

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &rnp->lock
LOCK2 flags
HALF_LOCKED2 global &rcu_state.exp_mutex
TYPE_LOCK (struct rcu_node)->lock

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

Type Parameter Key Value
PREEMPT_ADD <- disables preempt
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 &rnp->lock
LOCK2 flags
TYPE_LOCK (struct rcu_node)->lock

arch/x86/hyperv/nested.c hv_do_rep_hypercall_ex() -> touch_nmi_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

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

Type Parameter Key Value
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags

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

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

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

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

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

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

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 irq_flags
HALF_LOCKED2 shost->host_lock

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 irq_flags
HALF_LOCKED2 shost->host_lock

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 irq_flags
HALF_LOCKED2 shost->host_lock

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 irq_flags
HALF_LOCKED2 shost->host_lock

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 irq_flags
HALF_LOCKED2 shost->host_lock

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 irq_flags
HALF_LOCKED2 shost->host_lock

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

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

Type Parameter Key Value
PREEMPT_ADD
NOCHECK_CALL
LOCK2 global &nmi_reason_lock

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

Type Parameter Key Value
NOCHECK_CALL

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

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

mm/mm_init.c deferred_init_memmap_chunk() -> touch_nmi_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 boot_delay_msec() -> touch_nmi_watchdog()

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

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

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

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

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

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

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

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

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

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

Type Parameter Key Value
NOCHECK_CALL
HALF_LOCKED2 flags

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

Type Parameter Key Value
NOCHECK_CALL
LOCK2 rcu_read
HALF_LOCKED2 global &nmi_reason_lock

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

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 flags

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

Type Parameter Key Value
NOCHECK_CALL
LOCK2 rcu_read

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

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

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

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

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

Type Parameter Key Value
NOCHECK_CALL

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

Type Parameter Key Value
NOCHECK_CALL
HALF_LOCKED2 rcu_read

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

Type Parameter Key Value
NOCHECK_CALL
HALF_LOCKED2 rcu_read

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

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read

arch/x86/hyperv/irqdomain.c hv_do_rep_hypercall_ex() -> touch_nmi_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 hv_do_rep_hypercall_ex() -> touch_nmi_watchdog()

Type Parameter Key Value
NOCHECK_CALL
LOCK2 flags

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

Type Parameter Key Value
NOCHECK_CALL

kernel/sched/build_utility.c sysrq_sched_debug_show() -> touch_nmi_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 pch_console_write() -> touch_nmi_watchdog()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 flags

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 flags

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 flags

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &_T->lock->lock
HALF_LOCKED2 _T->flags
HALF_LOCKED2 _T->lock

drivers/acpi/apei/erst.c erst_timedout() -> touch_nmi_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/debug/kdb/kdb_io.c kdb_getchar() -> touch_nmi_watchdog()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 flags

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags

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

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags

arch/x86/hyperv/ivm.c hv_do_rep_hypercall_ex() -> touch_nmi_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 multi_cpu_stop() -> touch_nmi_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 check_and_rewind_pc() -> touch_nmi_watchdog()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 flags
HALF_LOCKED2 rcu_read

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

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

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

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

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

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 rcu_read

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

Type Parameter Key Value
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 global &system_transition_mutex
HALF_LOCKED2 rcu_read

kernel/sched/core.c show_state_filter() -> touch_nmi_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