From: Jason Wang <jasowang@redhat.com> To: mst@redhat.com, kvm@vger.kernel.org, virtualization@lists.linux-foundation.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, eric.dumazet@gmail.com, davem@davemloft.net Cc: Jason Wang <jasowang@redhat.com> Subject: [PATCH V3 0/2] handle polling errors Date: Sun, 6 Jan 2013 15:18:36 +0800 [thread overview] Message-ID: <1357456718-3072-1-git-send-email-jasowang@redhat.com> (raw) This is an update version of last version to fix the handling of polling errors in vhost/vhost_net. Currently, vhost and vhost_net ignore polling errors which can lead kernel crashing when it tries to remove itself from waitqueue after the polling failure. Fix this by checking the poll->wqh before the removing and report an error when meet polling errors. Changes from v2: - check poll->wqh instead of the wrong assumption about POLLERR and waitqueue - drop the whole tx polling state check since it was replaced by the wqh checking - drop the buggy tuntap patch Changes from v1: - restore the state before the ioctl when vhost_init_used() fails - log the error when meet polling errors in the data path - don't put into waitqueue when tun_chr_poll() return POLLERR Jason Wang (2): vhost_net: correct error handling in vhost_net_set_backend() vhost: handle polling errors drivers/vhost/net.c | 88 +++++++++++++++++++----------------------------- drivers/vhost/vhost.c | 31 +++++++++++++---- drivers/vhost/vhost.h | 2 +- 3 files changed, 59 insertions(+), 62 deletions(-)
WARNING: multiple messages have this Message-ID (diff)
From: Jason Wang <jasowang@redhat.com> To: mst@redhat.com, kvm@vger.kernel.org, virtualization@lists.linux-foundation.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, eric.dumazet@gmail.com, davem@davemloft.net Subject: [PATCH V3 0/2] handle polling errors Date: Sun, 6 Jan 2013 15:18:36 +0800 [thread overview] Message-ID: <1357456718-3072-1-git-send-email-jasowang@redhat.com> (raw) This is an update version of last version to fix the handling of polling errors in vhost/vhost_net. Currently, vhost and vhost_net ignore polling errors which can lead kernel crashing when it tries to remove itself from waitqueue after the polling failure. Fix this by checking the poll->wqh before the removing and report an error when meet polling errors. Changes from v2: - check poll->wqh instead of the wrong assumption about POLLERR and waitqueue - drop the whole tx polling state check since it was replaced by the wqh checking - drop the buggy tuntap patch Changes from v1: - restore the state before the ioctl when vhost_init_used() fails - log the error when meet polling errors in the data path - don't put into waitqueue when tun_chr_poll() return POLLERR Jason Wang (2): vhost_net: correct error handling in vhost_net_set_backend() vhost: handle polling errors drivers/vhost/net.c | 88 +++++++++++++++++++----------------------------- drivers/vhost/vhost.c | 31 +++++++++++++---- drivers/vhost/vhost.h | 2 +- 3 files changed, 59 insertions(+), 62 deletions(-)
next reply other threads:[~2013-01-06 7:27 UTC|newest] Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top 2013-01-06 7:18 Jason Wang [this message] 2013-01-06 7:18 ` [PATCH V3 0/2] handle polling errors Jason Wang 2013-01-06 7:18 ` [PATCH V3 1/2] vhost_net: correct error handling in vhost_net_set_backend() Jason Wang 2013-01-06 7:18 ` Jason Wang 2013-01-06 7:18 ` [PATCH V3 2/2] vhost: handle polling errors Jason Wang 2013-01-06 7:18 ` Jason Wang 2013-01-06 13:22 ` Michael S. Tsirkin 2013-01-06 13:22 ` Michael S. Tsirkin 2013-01-07 4:38 ` Jason Wang 2013-01-07 4:38 ` Jason Wang 2013-01-07 14:55 ` Michael S. Tsirkin 2013-01-07 14:55 ` Michael S. Tsirkin 2013-01-07 15:04 ` Jason Wang 2013-01-07 15:04 ` Jason Wang 2013-01-13 11:04 ` Michael S. Tsirkin 2013-01-13 11:04 ` Michael S. Tsirkin 2013-01-13 11:10 ` Michael S. Tsirkin 2013-01-13 11:10 ` Michael S. Tsirkin 2013-01-14 2:59 ` Jason Wang 2013-01-14 2:59 ` Jason Wang 2013-01-14 6:57 ` Michael S. Tsirkin 2013-01-14 6:57 ` Michael S. Tsirkin 2013-01-14 7:37 ` Jason Wang 2013-01-14 7:37 ` Jason Wang 2013-01-14 9:17 ` Michael S. Tsirkin 2013-01-14 9:17 ` Michael S. Tsirkin
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1357456718-3072-1-git-send-email-jasowang@redhat.com \ --to=jasowang@redhat.com \ --cc=davem@davemloft.net \ --cc=eric.dumazet@gmail.com \ --cc=kvm@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=mst@redhat.com \ --cc=netdev@vger.kernel.org \ --cc=virtualization@lists.linux-foundation.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.