Some AMD CPUs Might Lose RdRand Randomness Following Suspend/Resume

Written by Michael Larabel in AMD on 7 May 2019 at 11:19 AM EDT. 22 Comments
AMD
Systemd developers are sounding the alarms that some AMD processors might lose randomness (yielding non-random data) via the RdRand instruction following a suspend/resume alarm. However, initial indications don't appear for this to be some glaring widespread issue and might be limited to the older AMD CPUs and/or BIOS/motherboard combination.

Systemd lead developer Lennart Poettering of Red Hat tweeted today, "So AMD CPUs implement an RDRAND operation that doesn't actually return randomness (after your first suspend/resume cycle that is)."

Referenced is this bug report outlining that the RdRand instruction on an older AMD A6-6310 processor isn't properly behaving following a suspend/resume. By avoiding RdRand usage on the system as part of generating a UUID, the reported systemd issue no longer happens.

Also referenced is this Linux kernel bug report that is still open after five years. That bug report cites RdRand failing after resume on AMD CPUs. In this case, OpenSSL was failing to generate keys after a kernel suspend/resume. The belief back then was that it may be due to a BIOS bug but the issue not fully investigated since OpenSSL ended up disabling RdRand usage in the process and thus working around the problem experienced by the end-user.

Fortunately, by default the Linux kernel doesn't exclusively rely upon RdRand as a source of entropy but ends up being mixed in with other data / entropy sources. Regardless, now that Red Hat developers are involved and other upstream developers, hopefully they'll be able to figure out this issue in short order to come up with an effective solution.

I haven't encountered this issue myself and so far the only reports I've seen are from those using older Excavator era processors and not any newer AMD "Zen" Ryzen/EPYC processors.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week