Changes in kernel 5.18-rc1 leads to crashes in VirtualBox Virtual Machines

From: Larry Finger
Date: Sun May 01 2022 - 13:26:17 EST


Jason,

I maintain VirtualBox for openSUSE. When kernel 5.18-rc1 was released, I fixed the usual set of API changes needed to compile the external kernel modules for VB. Despite a clean compile, I am still getting random crashes in the VMs. For Linux instances, the desktop disappears, but for Windows guests, the VM crashes with unhandled kernel exceptions. As I have no experience tracing such crashes, I decided to bisect the kernel to find the commit that started these problems.

Surprisingly, the bisection pointed to commit 6e8ec2552c7d ("random: use computational hash for entropy extraction"). I am very sure of the bisection as the kernel built from the commit that immediately precedes this one, cfb92440ee71 - a tag commit by Linus, runs correctly.

Note that I do not believe there is anything wrong with your changes to the random number generators. It seems to be a problem with the way the emulator is accessing them. The VirtualBox code is quite complicated, and I am no expert with C++.

Are there changes that would be required to the X86_64 emulator's access to the random number code as a result of your changes? I have found places where the emulator accesses /dev/urandom or /dev/random. There are also places that use the rdrand and reseed instructions.

Thanks for reading this,

Larry