Jason Wang 2b8b328b61 vhost_net: handle polling errors when setting backend
Currently, the polling errors were ignored, which can lead following issues:

- vhost remove itself unconditionally from waitqueue when stopping the poll,
  this may crash the kernel since the previous attempt of starting may fail to
  add itself to the waitqueue
- userspace may think the backend were successfully set even when the polling
  failed.

Solve this by:

- check poll->wqh before trying to remove from waitqueue
- report polling errors in vhost_poll_start(), tx_poll_start(), the return value
  will be checked and returned when userspace want to set the backend

After this fix, there still could be a polling failure after backend is set, it
will addressed by the next patch.

Signed-off-by: Jason Wang <jasowang@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-01-29 15:43:03 -05:00
..
2013-01-23 20:30:52 -08:00
2013-01-14 09:08:38 -08:00
2012-12-11 14:08:47 -08:00
2012-12-18 15:19:06 +10:30
2013-01-29 15:43:03 -05:00
2013-01-22 16:36:23 -08:00
2012-12-12 11:45:16 -08:00
2013-01-08 18:53:56 -08:00
2013-01-08 18:53:56 -08:00
2012-12-19 08:19:07 -08:00
2012-12-11 13:13:55 -08:00
2013-01-16 15:57:54 +01:00
2013-01-18 14:05:25 -08:00
2012-12-12 12:05:15 -08:00
2013-01-15 10:45:26 -07:00
2013-01-18 12:02:52 -08:00