file.index is unsigned, hence 'while (--file.index >= 0)' will loop > forever. Change to while (file.index-- > 0). Reported-by: Jes Sorensen <Jes.Sorensen@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
@@ -151,7 +151,7 @@ int vhost_net_start(struct vhost_net *net,
return 0;
fail:
file.fd = -1;
- while (--file.index >= 0) {
+ while (file.index-- > 0) {
int r = ioctl(net->dev.control, VHOST_NET_SET_BACKEND, &file);
assert(r >= 0);
}