]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
udev: catch genuine_random_bytes() failures
authorLennart Poettering <lennart@poettering.net>
Thu, 28 May 2020 21:26:16 +0000 (23:26 +0200)
committerLennart Poettering <lennart@poettering.net>
Thu, 28 May 2020 21:38:25 +0000 (23:38 +0200)
Fixes: CID#1428926
src/udev/net/link-config.c

index 75c2aec491ee1e7c42a545bbb71d5347df9b5db3..806f4574581a69762b6ce028cea220c554dd1805 100644 (file)
@@ -332,7 +332,9 @@ static int get_mac(sd_device *device, MACAddressPolicy policy, struct ether_addr
                 /* We require genuine randomness here, since we want to make sure we won't collide with other
                  * systems booting up at the very same time. We do allow RDRAND however, since this is not
                  * cryptographic key material. */
-                genuine_random_bytes(mac->ether_addr_octet, ETH_ALEN, RANDOM_ALLOW_RDRAND);
+                r = genuine_random_bytes(mac->ether_addr_octet, ETH_ALEN, RANDOM_ALLOW_RDRAND);
+                if (r < 0)
+                        return log_device_error_errno(device, r, "Failed to acquire random data to generate MAC: %m");
         } else {
                 uint64_t result;