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.
