Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'ras-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x86 RAS fix from Ingo Molnar:
"Fix a thermal throttling race that can result in easy to trigger boot
crashes on certain Ice Lake platforms"

* 'ras-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/mce/therm_throt: Do not access uninitialized therm_work

+5 -4
+5 -4
arch/x86/kernel/cpu/mce/therm_throt.c
··· 467 467 { 468 468 struct thermal_state *state = &per_cpu(thermal_state, cpu); 469 469 struct device *dev = get_cpu_device(cpu); 470 + u32 l; 470 471 471 472 state->package_throttle.level = PACKAGE_LEVEL; 472 473 state->core_throttle.level = CORE_LEVEL; 473 474 474 475 INIT_DELAYED_WORK(&state->package_throttle.therm_work, throttle_active_work); 475 476 INIT_DELAYED_WORK(&state->core_throttle.therm_work, throttle_active_work); 477 + 478 + /* Unmask the thermal vector after the above workqueues are initialized. */ 479 + l = apic_read(APIC_LVTTHMR); 480 + apic_write(APIC_LVTTHMR, l & ~APIC_LVT_MASKED); 476 481 477 482 return thermal_throttle_add_dev(dev, cpu); 478 483 } ··· 726 721 727 722 rdmsr(MSR_IA32_MISC_ENABLE, l, h); 728 723 wrmsr(MSR_IA32_MISC_ENABLE, l | MSR_IA32_MISC_ENABLE_TM1, h); 729 - 730 - /* Unmask the thermal vector: */ 731 - l = apic_read(APIC_LVTTHMR); 732 - apic_write(APIC_LVTTHMR, l & ~APIC_LVT_MASKED); 733 724 734 725 pr_info_once("CPU0: Thermal monitoring enabled (%s)\n", 735 726 tm2 ? "TM2" : "TM1");