Re: [PATCH 2/2] virt: vmgenid: add support for generation counter

From: Chalios, Babis
Date: Wed Aug 03 2022 - 13:59:18 EST




On 3/8/22 17:31, Greg KH wrote:
CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you can confirm the sender and know the content is safe.



On Wed, Aug 03, 2022 at 05:21:27PM +0200, bchalios@xxxxxxxxx wrote:
+ /* Backwards compatibility. If CTRA is not there we just don't expose
+ * the char device
Backwards compatibility with what?
With hypervisor versions that do not support the generation counter, but do support
the VM generation ID. In this case the hypervisor would expose ADDR but not CTRA.

+ */
+ ret = parse_vmgenid_address(device, "CTRA", &state->gen_cntr_addr);
+ if (ret)
+ return 0;
+
+ state->next_counter = devm_memremap(&device->dev, state->gen_cntr_addr,
+ sizeof(u32), MEMREMAP_WB);
+ if (IS_ERR(state->next_counter))
+ return 0;
This too is an error, you can not return with "all is good", right?
Once you try to create this device because the address is present, you
can't just give up and succeed no matter what went wrong, that seems
incorrect.
Same intention as in the response in your other comment. I thought that it doesn't make sense
to fail the whole ACPI device if registering the misc device fails.

However, seeing that again (even if my thinking is right) if this devm_memremap fails we should
probably fail because there might be something wrong with the address the device gave us.

thanks,

greg k-h


Cheers,
Babis
Amazon Spain Services sociedad limitada unipersonal, Calle Ramirez de Prado 5, 28045 Madrid. Registro Mercantil de Madrid . Tomo 22458 . Folio 102 . Hoja M-401234 . CIF B84570936