+The return value is never interpreted. I think it should either be made
+static int vhost_vdpa_remove_as(struct vhost_vdpa *v, u32 asid)
void or return values checked.
+{Can you explain why? I think you have a memory leak due to this as no
+ struct vhost_vdpa_as *as = asid_to_as(v, asid);
+
+ /* Remove default address space is not allowed */
+ if (asid == 0)
+ return -EINVAL;
one will ever free as with id 0.