On 8/20/2021 2:14 AM, Michael Kelley wrote:
@@ -477,6 +521,15 @@ static int netvsc_init_buf(struct hv_device *device,
goto cleanup;
}
+ if (hv_isolation_type_snp()) {
+ vaddr = netvsc_remap_buf(net_device->send_buf, buf_size);
+ if (!vaddr)
+ goto cleanup;
I don't think this error case is handled correctly. Doesn't the remapping
of the recv buf need to be undone?
Yes, actually I thought to return error here and free_netvsc_device()
will help to unmap recv_buffer finally. But I forget to set ret =
-ENOMEM when add netvsc_remap_buf() helper.