qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 0/3] vhost-user-test fix
@ 2018-12-15 12:03 Li Qiang
  2018-12-15 12:03 ` [Qemu-devel] [PATCH v2 1/3] tests: vhost-user-test: initialize 'fd' in chr_read Li Qiang
                   ` (3 more replies)
  0 siblings, 4 replies; 12+ messages in thread
From: Li Qiang @ 2018-12-15 12:03 UTC (permalink / raw)
  To: thuth, lvivier, pbonzini, mst, peter.maydell, marcandre.lureau,
	berrange, jasowang
  Cc: liq3ea, qemu-devel, Li Qiang

Currently, the vhost-user-test is not correct.
When in qtest mode, the accel is qtest, not kvm.
So when the client side of vhost-user-test send
'VHOST_USER_SET_VRING_CALL' msg, the 'fd' will
no be added in 'fds' in 'vhost_set_vring_file'.
In 'chr_read' of the server side in the 
vhost-user-test, it calls 'qemu_chr_fe_get_msgfds'
to get the fd in 'VHOST_USER_SET_VRING_CALL'. Though
there is no fd returned, but as the 'fd' is not initialized
so 'fd' maybe valid, and 'qemu_set_nonblock' will be success.
Even worse, 'qemu_set_nonblock' doesn't check the return value
of fcntl.

So this cause the interesting bug here: there are three issues,
but they combined and will bypass the qtest.

This patchset tries to address these issue.

v2: Change the second patch per Paolo's review

Li Qiang (3):
  tests: vhost-user-test: initialize 'fd' in chr_read
  vhost-user: fix ioeventfd_enabled
  util: check the return value of fcntl in qemu_set_{block,nonblock}

 hw/virtio/vhost-user.c  | 2 +-
 tests/vhost-user-test.c | 2 +-
 util/oslib-posix.c      | 8 ++++++--
 3 files changed, 8 insertions(+), 4 deletions(-)

-- 
2.17.1

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2019-01-14 23:24 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-12-15 12:03 [Qemu-devel] [PATCH v2 0/3] vhost-user-test fix Li Qiang
2018-12-15 12:03 ` [Qemu-devel] [PATCH v2 1/3] tests: vhost-user-test: initialize 'fd' in chr_read Li Qiang
2019-01-02 13:50   ` Thomas Huth
2019-01-02 14:55     ` Michael S. Tsirkin
2019-01-03  4:23     ` Li Qiang
2018-12-15 12:03 ` [Qemu-devel] [PATCH v2 2/3] vhost-user: fix ioeventfd_enabled Li Qiang
2019-01-14 23:22   ` Michael S. Tsirkin
2018-12-15 12:03 ` [Qemu-devel] [PATCH v2 3/3] util: check the return value of fcntl in qemu_set_{block, nonblock} Li Qiang
2019-01-02 14:07   ` Thomas Huth
2019-01-02 14:55     ` Michael S. Tsirkin
2019-01-14 23:24     ` Michael S. Tsirkin
2018-12-24  1:08 ` [Qemu-devel] [PATCH v2 0/3] vhost-user-test fix Li Qiang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).