From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38554) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XP6I5-0002xa-NM for qemu-devel@nongnu.org; Wed, 03 Sep 2014 04:51:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XP6I1-0007uz-FU for qemu-devel@nongnu.org; Wed, 03 Sep 2014 04:51:45 -0400 Date: Wed, 3 Sep 2014 11:54:55 +0300 From: "Michael S. Tsirkin" Message-ID: <20140903085455.GA6805@redhat.com> References: <1409734200-6725-1-git-send-email-mst@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1409734200-6725-1-git-send-email-mst@redhat.com> Subject: Re: [Qemu-devel] [PATCH] vhost_net: initialize acked_features to a safe value during ack List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Jason Wang , Andrey Korolyov , qemu-stable@nongnu.org, Nikolay Nikolaev On Wed, Sep 03, 2014 at 11:50:05AM +0300, Michael S. Tsirkin wrote: > commit 2e6d46d77ed328d34a94688da8371bcbe243479b (vhost: add > vhost_get_features and vhost_ack_features) removes the step that > initializes the acked_features to backend_features. > > As this field is now uninitialized, vhost initialization will sometimes > fail. > > To fix, initialize field in core vhost code. > > As the next step, cleanup vhost scsi code as well. > > Reported-by: Jason Wang > Reported-by: Andrey Korolyov > Cc: Nikolay Nikolaev > Cc: qemu-stable@nongnu.org > Signed-off-by: Jason Wang > Reviewed-by: Michael S. Tsirkin > Signed-off-by: Michael S. Tsirkin Oops, it's the wrong patch - original one from jason :( Sorry, resending. > --- > hw/net/vhost_net.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/hw/net/vhost_net.c b/hw/net/vhost_net.c > index 1fe18c7..e258fda 100644 > --- a/hw/net/vhost_net.c > +++ b/hw/net/vhost_net.c > @@ -115,6 +115,7 @@ unsigned vhost_net_get_features(struct vhost_net *net, unsigned features) > > void vhost_net_ack_features(struct vhost_net *net, unsigned features) > { > + net->dev.acked_features = net->dev.backend_features; > vhost_ack_features(&net->dev, vhost_net_get_feature_bits(net), features); > } > > -- > MST