Thread: Let's make a list of all the fun ways AMD's Zen 2 RdRand failure has messed up this Fedora 30 system. The instruction reports success (CF=1) but returns 0xFFFFFFFFFFFFFFFF (almost?) every time.
-
Show this thread
-
1. Total failure to boot. We forgot about the known systemd issue. Boot a Fedora 29 live USB, chroot the system and install the patched systemd from https://copr.fedorainfracloud.org/coprs/jerbear64/systemd-zen2/ …. OK, should be fine now?
1 reply 0 retweets 0 likesShow this thread -
2. Can't mount /home. It's LUKS2 while root is v1. cryptsetup just hangs forever on LUKS2 volumes. Some debugging later, it's getting stuck on a call to libjson-c so we rebuild that without RdRand and all's well.
1 reply 0 retweets 0 likesShow this thread -
3. Time passes. I set up Wireguard. It receives a handshake packet and calls get_random_u32 which blocks a kernel worker forever. I forgot to include nordrand in kernel args while configuring VFIO. Need to add that to the default config.
1 reply 0 retweets 0 likesShow this thread -
4. Run grub2-mkconfig > grub.cfg add that nordrand arg. Bad move. That probes LVM devices which also uses RdRand. System gets unresponsive (all the blocked kworkers?) and I reboot, but now grub.cfg is empty so grub doesn't know how to load anything. No backup copy.
1 reply 0 retweets 0 likesShow this thread -
4b. Try to rebuild grub.cfg from the Fedora 29 USB. Nope, that uses RdRand too. It's a complex config and typing in commands at the grub prompt fails. Hours later, piece together a working cfg from the raw /boot/efi partition. Booted with nordrand, grub2-mkconfig works again.
1 reply 0 retweets 0 likesShow this thread
That was 4 days ago and it hasn't broken again yet. AMD released new microcode and then pulled it due to other bugs, so no real fix yet. Applications can still call RdRand from userspace so who knows what else will break.
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.

