Commit 96283f9a authored by Stefano Stabellini's avatar Stefano Stabellini Committed by Boris Ostrovsky
Browse files

pvcalls-front: don't try to free unallocated rings



inflight_req_id is 0 when initialized. If inflight_req_id is 0, there is
no accept_map to free. Fix the check in pvcalls_front_release.

Signed-off-by: default avatarStefano Stabellini <stefanos@xilinx.com>
Reviewed-by: default avatarBoris Ostrovsky <boris.ostrovsky@oracle.com>
Signed-off-by: default avatarBoris Ostrovsky <boris.ostrovsky@oracle.com>
parent b79470b6
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -1030,8 +1030,8 @@ int pvcalls_front_release(struct socket *sock)
		spin_lock(&bedata->socket_lock);
		spin_lock(&bedata->socket_lock);
		list_del(&map->list);
		list_del(&map->list);
		spin_unlock(&bedata->socket_lock);
		spin_unlock(&bedata->socket_lock);
		if (READ_ONCE(map->passive.inflight_req_id) !=
		if (READ_ONCE(map->passive.inflight_req_id) != PVCALLS_INVALID_ID &&
		    PVCALLS_INVALID_ID) {
			READ_ONCE(map->passive.inflight_req_id) != 0) {
			pvcalls_front_free_map(bedata,
			pvcalls_front_free_map(bedata,
					       map->passive.accept_map);
					       map->passive.accept_map);
		}
		}