Monday, August 26th 2013

Windows 8 RTC Bug Isolated, Fixed

Last week, overclocking achievement and leaderboards site HWBot banned benchmark submissions from PCs running Windows 8, because the operating system doesn't correctly handle real-time clock (RTC), making it easy to spoof it. A little later, it surfaced that Intel processor-based machines are worse affected by the bug, than AMD-based ones, resulting in HWBot making an exception for AMD processor-based systems. Further analysis by overclocker Christian Ney from Ocaholic unearthed the root cause of the bug, and a fix.

Christian Ney collaborated with CPU-Z author Franck Delattre, who provided a utility that reads out four system timers in real-time (ACPI, HPET, RTC, and QPC), and what DMI frequency is calculated based on each timer. At default bus frequency for an Intel processor-based system (100 MHz), all four timers yield a consistent readout, however, on changing the bus frequency using a Windows-based program, for example from 100 MHz to 95 MHz, RTC and QPC readouts go off the rails. This, however, doesn't happen when the frequency is set using the system BIOS setup program, and the system is made to boot from the changed frequency. From this testing, it can be inferred that Windows 8 doesn't use ACPI or HPET, but an internal timer. Although the bug doesn't "appear" to affect AMD platforms, under some circumstances, it can. Based on the findings, a bug-fix was found to the issue, which has to be applied using a command-line setting. Perhaps HWBot could review its Windows 8 submission policy.
Show 5 Comments