Re: [PATCH v7 2/2] drivers/virt: vmgenid: add vm generation id driver

Jason A. Donenfeld
2022-02-22T21:24:47Z

Hi Adrian,

This thread seems to be long dead, but I couldn't figure out what
happened to the ideas in it. I'm specifically interested in this part:

On Wed, Feb 24, 2021 at 9:48 AM Adrian Catangiu <acatan@amazon.com> wrote:
> +static void vmgenid_acpi_notify(struct acpi_device *device, u32 event)
> +{
> + uuid_t old_uuid;
> +
> + if (!device || acpi_driver_data(device) != &vmgenid_data) {
> + pr_err("VMGENID notify with unexpected driver private data\n");
> + return;
> + }
> +
> + /* update VM Generation UUID */
> + old_uuid = vmgenid_data.uuid;
> + memcpy_fromio(&vmgenid_data.uuid, vmgenid_data.uuid_iomap, sizeof(uuid_t));
> +
> + if (memcmp(&old_uuid, &vmgenid_data.uuid, sizeof(uuid_t))) {
> + /* HW uuid updated */
> + sysgenid_bump_generation();
> + add_device_randomness(&vmgenid_data.uuid, sizeof(uuid_t));
> + }
> +}

As Jann mentioned in an earlier email, we probably want this to
immediately reseed the crng, not just dump it into
add_device_randomness alone. But either way, the general idea seems
interesting to me. As far as I can tell, QEMU still supports this. Was
it not deemed to be sufficiently interesting?

Thanks,
Jason