summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/qemu/qemu/CVE-2015-7295_2.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/qemu/qemu/CVE-2015-7295_2.patch')
-rw-r--r--meta/recipes-devtools/qemu/qemu/CVE-2015-7295_2.patch58
1 files changed, 58 insertions, 0 deletions
diff --git a/meta/recipes-devtools/qemu/qemu/CVE-2015-7295_2.patch b/meta/recipes-devtools/qemu/qemu/CVE-2015-7295_2.patch
new file mode 100644
index 0000000000..45dfab36ef
--- /dev/null
+++ b/meta/recipes-devtools/qemu/qemu/CVE-2015-7295_2.patch
@@ -0,0 +1,58 @@
1From 29b9f5efd78ae0f9cc02dd169b6e80d2c404bade Mon Sep 17 00:00:00 2001
2From: Jason Wang <jasowang@redhat.com>
3Date: Fri, 25 Sep 2015 13:21:29 +0800
4Subject: [PATCH] virtio: introduce virtqueue_discard()
5
6This patch introduces virtqueue_discard() to discard a descriptor and
7unmap the sgs. This will be used by the patch that will discard
8descriptor when packet is truncated.
9
10Cc: Michael S. Tsirkin <mst@redhat.com>
11Signed-off-by: Jason Wang <jasowang@redhat.com>
12Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
13Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
14Upstream-Status: Backport
15
16git.qemu.org/?p=qemu.git;a=commit;h=29b9f5efd78ae0f9cc02dd169b6e80d2c404bade
17
18CVE: CVE-2015-7295 patch #2
19[Yocto # 9013]
20
21Signed-off-by: Armin Kuster <akuster@mvista.com>
22
23---
24 hw/virtio/virtio.c | 7 +++++++
25 include/hw/virtio/virtio.h | 2 ++
26 2 files changed, 9 insertions(+)
27
28Index: qemu-2.4.0/hw/virtio/virtio.c
29===================================================================
30--- qemu-2.4.0.orig/hw/virtio/virtio.c
31+++ qemu-2.4.0/hw/virtio/virtio.c
32@@ -266,6 +266,13 @@ static void virtqueue_unmap_sg(VirtQueue
33 0, elem->out_sg[i].iov_len);
34 }
35
36+void virtqueue_discard(VirtQueue *vq, const VirtQueueElement *elem,
37+ unsigned int len)
38+{
39+ vq->last_avail_idx--;
40+ virtqueue_unmap_sg(vq, elem, len);
41+}
42+
43 void virtqueue_fill(VirtQueue *vq, const VirtQueueElement *elem,
44 unsigned int len, unsigned int idx)
45 {
46Index: qemu-2.4.0/include/hw/virtio/virtio.h
47===================================================================
48--- qemu-2.4.0.orig/include/hw/virtio/virtio.h
49+++ qemu-2.4.0/include/hw/virtio/virtio.h
50@@ -146,6 +146,8 @@ void virtio_del_queue(VirtIODevice *vdev
51 void virtqueue_push(VirtQueue *vq, const VirtQueueElement *elem,
52 unsigned int len);
53 void virtqueue_flush(VirtQueue *vq, unsigned int count);
54+void virtqueue_discard(VirtQueue *vq, const VirtQueueElement *elem,
55+ unsigned int len);
56 void virtqueue_fill(VirtQueue *vq, const VirtQueueElement *elem,
57 unsigned int len, unsigned int idx);
58