[v2.6] CVE-2013-4127 kernel: vhost-net: use-after-free in vhost_net_flush

reference:
https://bugzilla.redhat.com/show\_bug.cgi?id=984722

vhost_net_ubuf_put_and_wait has a confusing name: it will actually also free it’s argument. vhost_net_flush tries to use the argument after passing it to vhost_net_ubuf_put_and_wait, this results in use after free.

Upstream fix:
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=dd7633ecd553a5e304d349aa6f8eb8a0417098c5

Introduced by:
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=1280c27f8e29acf4af2da914e80ec27c3dbd5c01

Introduced in upstream version:
v3.8-rc1

(from redmine: issue id 2145, created on 2013-07-18, closed on 2013-07-29)

main/linux-grsec: various security fixes (CVE-2013-4125, CVE-2013-4127)

ref #2139 (CVE-2013-4125)
fixes #2140

ref #2144 (CVE-2013-4127)
fixes #2145

(cherry picked from commit 2090f6be2eb8aa04ae81c1bf456f4dc3709ac886)