Defined in 2 files as a function:

Referenced in 28 files:

Smatch caller information:

arch/x86/lib/msr.c msr_write() -> wrmsrq_safe()

Type Parameter Key Value
DATA_SOURCE 0 msr $0
RX_PATH
TASK_NOT_RUNNING

drivers/powercap/intel_rapl_msr.c rapl_msr_update_func() -> wrmsrq_safe()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 flags

arch/x86/lib/msr-smp.c __wrmsr_safe_on_cpu() -> wrmsrq_safe()

Type Parameter Key Value
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 flags

drivers/thermal/intel/therm_throt.c notify_hwp_interrupt() -> wrmsrq_safe()

Type Parameter Key Value
PARAM_VALUE 0 msr 1911
PARAM_VALUE 1 val 0
PREEMPT_ADD
NOCHECK_CALL

drivers/edac/ie31200_edac.c ie31200_clear_error_info() -> wrmsrq_safe()

Type Parameter Key Value
PARAM_VALUE 0 msr 1937
PARAM_VALUE 1 val 3,5,7,11,13,15
RX_PATH
TASK_NOT_RUNNING

arch/x86/kvm/svm/sev.c sev_flush_encrypted_page() -> wrmsrq_safe()

Type Parameter Key Value
PARAM_VALUE 0 msr 3221291294
PARAM_VALUE 1 val 0-u32max,18379471554275704832-18379471558570672127,18446612682070032384-18446612686364999679

arch/x86/kernel/cpu/mce/intel.c intel_imc_init() -> wrmsrq_safe()

Type Parameter Key Value
PARAM_VALUE 0 msr 383
PARAM_VALUE 1 val 0,2-u64max
BIT_INFO 1 val 0x2,0xffffffffffffffff
BIT_INFO 1 val 0x2,0xffffffffffffffff
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

arch/x86/events/core.c check_hw_exists() -> wrmsrq_safe()

Type Parameter Key Value
DATA_SOURCE 0 msr r x86_pmu_event_addr

arch/x86/kvm/vmx/pmu_intel.c intel_pmu_handle_lbr_msrs_access() -> wrmsrq_safe()

Type Parameter Key Value
PARAM_VALUE 0 msr 0-4294967294
CAPPED_DATA 0 msr 1
UNITS 1 val unit_byte
LOCK2 irq

drivers/platform/x86/intel/turbo_max_3.c get_oc_core_priority() -> wrmsrq_safe()

Type Parameter Key Value
PARAM_VALUE 0 msr 336
PARAM_VALUE 1 val 9223372157113860096
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 global &cpuhp_state_mutex
HALF_LOCKED2 irq

arch/x86/events/intel/p4.c __p4_pmu_enable_event() -> wrmsrq_safe()

Type Parameter Key Value
PARAM_VALUE 0 msr 928-933,936-943,946-947,950-953,956-957,960-965,970-973
PARAM_VALUE 1 val 0-s32max
BIT_INFO 1 val 0x0,0xffffffff

arch/x86/events/intel/p4.c __p4_pmu_enable_event() -> wrmsrq_safe()

Type Parameter Key Value
PARAM_VALUE 1 val 4096,8192-4294967296
BIT_INFO 1 val 0x1000,0xfffff000

arch/x86/events/intel/p4.c p4_pmu_disable_event() -> wrmsrq_safe()

Type Parameter Key Value
PARAM_VALUE 1 val 0,8192-2147475456
BIT_INFO 1 val 0x0,0x7fffe000

arch/x86/events/intel/p4.c p4_pmu_enable_pebs() -> wrmsrq_safe()

Type Parameter Key Value
PARAM_VALUE 0 msr 1009
PARAM_VALUE 1 val 16777217-16777218,16777220,16777728,16778240,16875520

arch/x86/events/intel/p4.c p4_pmu_enable_pebs() -> wrmsrq_safe()

Type Parameter Key Value
PARAM_VALUE 0 msr 1010
PARAM_VALUE 1 val 1-3,16

arch/x86/events/intel/p4.c p4_pmu_init() -> wrmsrq_safe()

Type Parameter Key Value
PARAM_VALUE 1 val 0
DATA_SOURCE 0 msr r x86_pmu_config_addr
NOCHECK_CALL

arch/x86/events/intel/knc.c knc_pmu_disable_event() -> wrmsrq_safe()

Type Parameter Key Value
BIT_INFO 1 val 0x0,0xffffffffffbfffff
BIT_INFO 1 val 0x0,0xffffffffffbfffff

arch/x86/events/intel/knc.c knc_pmu_enable_event() -> wrmsrq_safe()

Type Parameter Key Value
PARAM_VALUE 1 val 0,4194304-u64max
BIT_INFO 1 val 0x400000,0xffffffffffffffff
BIT_INFO 1 val 0x400000,0xffffffffffffffff

arch/x86/events/intel/lbr.c intel_pmu_arch_lbr_init() -> wrmsrq_safe()

Type Parameter Key Value
PARAM_VALUE 0 msr 5327
PARAM_VALUE 1 val 1-256
HOST_DATA 1 val 1-256[c]

drivers/cpufreq/intel_pstate.c notify_hwp_interrupt() -> wrmsrq_safe()

Type Parameter Key Value
PARAM_VALUE 0 msr 1911
PARAM_VALUE 1 val 0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL
LOCK2 flags
LOCK2 global &hwp_notify_lock

drivers/acpi/processor_throttling.c acpi_throttling_wrmsr() -> wrmsrq_safe()

Type Parameter Key Value
PARAM_VALUE 0 msr 410
DATA_SOURCE 1 val $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 &pool->lock

arch/x86/kernel/cpu/amd.c early_init_amd() -> wrmsrq_safe()

Type Parameter Key Value
PARAM_VALUE 0 msr 73
PARAM_VALUE 1 val 128
LOCK2 irq

arch/x86/kernel/cpu/amd.c init_amd_bd() -> wrmsrq_safe()

Type Parameter Key Value
PARAM_VALUE 0 msr 3221295137
PARAM_VALUE 1 val 0,2-u64max
BIT_INFO 1 val 0x1e,0xffffffffffffffff
BIT_INFO 1 val 0x1e,0xffffffffffffffff
NOCHECK_CALL

drivers/thermal/intel/intel_tcc.c intel_tcc_set_offset() -> wrmsrq_safe()

Type Parameter Key Value
PARAM_VALUE 0 msr 418
PARAM_VALUE 1 val 0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &cdev->lock
HALF_LOCKED2 &of->mutex

arch/x86/events/intel/core.c check_msr() -> wrmsrq_safe()

Type Parameter Key Value
PARAM_VALUE 0 msr 0-351,422-423,457,992-995,1014-1015,1664-1983,3237-3243,3348,4904-4905,5376-5887
CAPPED_DATA 0 msr 1
DATA_SOURCE 0 msr $0
RX_PATH
TASK_NOT_RUNNING

arch/x86/events/intel/core.c intel_pmu_reset() -> wrmsrq_safe()

Type Parameter Key Value
PARAM_VALUE 1 val 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags

arch/x86/events/intel/core.c intel_pmu_reset() -> wrmsrq_safe()

Type Parameter Key Value
PARAM_VALUE 1 val 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags

arch/x86/events/intel/core.c intel_pmu_reset() -> wrmsrq_safe()

Type Parameter Key Value
PARAM_VALUE 1 val 0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
LOCK2 flags
HALF_LOCKED2 &desc->request_mutex
HALF_LOCKED2 _T->lock
HALF_LOCKED2 flags

arch/x86/kernel/cpu/common.c idt_syscall_init() -> wrmsrq_safe()

Type Parameter Key Value
PARAM_VALUE 0 msr 372
PARAM_VALUE 1 val 16
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 irq

arch/x86/kernel/cpu/common.c idt_syscall_init() -> wrmsrq_safe()

Type Parameter Key Value
PARAM_VALUE 0 msr 373
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 irq

arch/x86/kernel/cpu/common.c idt_syscall_init() -> wrmsrq_safe()

Type Parameter Key Value
PARAM_VALUE 0 msr 374
PARAM_VALUE 1 val 4929510074778136576
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 irq

arch/x86/kernel/cpu/common.c idt_syscall_init() -> wrmsrq_safe()

Type Parameter Key Value
PARAM_VALUE 0 msr 372
PARAM_VALUE 1 val 0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 irq

arch/x86/kernel/cpu/common.c idt_syscall_init() -> wrmsrq_safe()

Type Parameter Key Value
PARAM_VALUE 0 msr 373
PARAM_VALUE 1 val 0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 irq

arch/x86/kernel/cpu/common.c idt_syscall_init() -> wrmsrq_safe()

Type Parameter Key Value
PARAM_VALUE 0 msr 374
PARAM_VALUE 1 val 0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 irq

arch/x86/kernel/cpu/common.c ppin_init() -> wrmsrq_safe()

Type Parameter Key Value
PARAM_VALUE 0 msr 78,3221291760
PARAM_VALUE 1 val 0,2-u64max
BIT_INFO 1 val 0x2,0xffffffffffffffff
NOCHECK_CALL

drivers/powercap/intel_rapl_common.c package_power_limit_irq_restore() -> wrmsrq_safe()

Type Parameter Key Value
PARAM_VALUE 0 msr 434
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL

drivers/powercap/intel_rapl_common.c power_limit_irq_save_cpu() -> wrmsrq_safe()

Type Parameter Key Value
PARAM_VALUE 0 msr 434
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
HALF_LOCKED2 flags

arch/x86/kernel/acpi/sleep.c x86_acpi_suspend_lowlevel() -> wrmsrq_safe()

Type Parameter Key Value
PARAM_VALUE 0 msr 416

arch/x86/kernel/cpu/bus_lock.c split_lock_verify_msr() -> wrmsrq_safe()

Type Parameter Key Value
PARAM_VALUE 0 msr 51
HALF_LOCKED2 irq

arch/x86/events/intel/p6.c p6_pmu_disable_event() -> wrmsrq_safe()

Type Parameter Key Value
PARAM_VALUE 1 val 46

arch/x86/events/intel/p6.c p6_pmu_enable_event() -> wrmsrq_safe()

Type Parameter Key Value

arch/x86/kernel/cpu/resctrl/core.c cache_alloc_hsw_probe() -> wrmsrq_safe()

Type Parameter Key Value
PARAM_VALUE 0 msr 3216
PARAM_VALUE 1 val 1048575

arch/x86/kvm/msrs.c kvm_probe_user_return_msr() -> wrmsrq_safe()

Type Parameter Key Value
DATA_SOURCE 0 msr $0
PREEMPT_ADD <- disables preempt
LOCK2 _T->lock

arch/x86/kvm/msrs.c kvm_set_user_return_msr() -> wrmsrq_safe()

Type Parameter Key Value
CAPPED_DATA 1 val 1
CAPPED_DATA 1 val 1
PREEMPT_ADD
UNITS 1 val unit_byte

arch/x86/kvm/msrs.c kvm_spec_ctrl_test_value() -> wrmsrq_safe()

Type Parameter Key Value
PARAM_VALUE 0 msr 72
DATA_SOURCE 1 val $0
UNITS 1 val unit_byte
LOCK2 flags

arch/x86/kernel/cpu/mtrr/generic.c mtrr_wrmsr() -> wrmsrq_safe()

Type Parameter Key Value
PARAM_VALUE 1 val 0
DATA_SOURCE 0 msr $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 flags
HALF_LOCKED2 global &cache_disable_lock

arch/x86/kernel/cpu/mce/inject.c check_hw_inj_possible() -> wrmsrq_safe()

Type Parameter Key Value
PARAM_VALUE 0 msr 1025-1277,3221233665-3221234673
PARAM_VALUE 1 val 9223372036854775808
PREEMPT_ADD <- disables preempt
NOCHECK_CALL

arch/x86/kernel/cpu/mce/inject.c check_hw_inj_possible() -> wrmsrq_safe()

Type Parameter Key Value
PARAM_VALUE 0 msr 1025-1277,3221233665-3221234673
PARAM_VALUE 1 val 0
PREEMPT_ADD <- disables preempt
NOCHECK_CALL