So, a PRNG with a semi-decent (not perfect) entropy pool is required at boot time, and systemd needs to run in environments where seeding that pool in software could take on the order of minutes. This is why RDRAND is used to seed the pool during boot.
https://github.com/systemd/systemd/blob/61bd7d1ed595a98e5fbf...
2. Use a tree instead of a hash-table; or just use RDRAND and hope you aren't presented with malicious inputs.
The comment in the code[1] about RDRAND being sufficient for the use-case of UUIDs is empirically false. To continue to rely upon it is to insist that the rest of the world conform to your beliefs, rather than to adjust your beliefs to match the rest of the world.
1: https://github.com/systemd/systemd/blob/bcac754d66374782a85a...
Ipse dixit. Can you provide an explanation?
2. https://arstechnica.com/gadgets/2019/10/how-a-months-old-amd...
3. https://linuxreviews.org/RDRAND_stops_returning_random_value...
4. There are also comments elsewhere on this page that older Intel RDRAND implementations had similar issues, but they did not cite their source.