virtio_net: fix race in RX VQ processing
authorDavid S. Miller <davem@davemloft.net>
Tue, 9 Jul 2013 19:45:43 +0000 (12:45 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 9 Jul 2013 19:45:43 +0000 (12:45 -0700)
commite1d6fbc3dedbb463fc79b48ddb05ab6b20fd088a
tree6d63721222da5d652d2e4e65991a15007a83a520
parent01276ed2424eb78c95461545410923d5da154d31
parentcbdadbbf0c790f79350a8f36029208944c5487d0
virtio_net: fix race in RX VQ processing

Michael S. Tsirkin says:

====================
Jason Wang reported a race in RX VQ processing:
virtqueue_enable_cb is called outside napi lock,
violating virtio serialization rules.
The race has been there from day 1, but it got especially nasty in 3.0
when commit a5c262c5fd83ece01bd649fb08416c501d4c59d7
"virtio_ring: support event idx feature"
added more dependency on vq state.

Please review, and consider for 3.11 and stable.

Changes from v1:
- Added Jason's Tested-by tag
- minor coding style fix
====================

Signed-off-by: David S. Miller <davem@davemloft.net>