diff options
Diffstat (limited to 'meta/recipes-devtools/qemu/qemu/CVE-2021-3416_3.patch')
-rw-r--r-- | meta/recipes-devtools/qemu/qemu/CVE-2021-3416_3.patch | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_3.patch b/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_3.patch new file mode 100644 index 0000000000..3fc469e3e3 --- /dev/null +++ b/meta/recipes-devtools/qemu/qemu/CVE-2021-3416_3.patch | |||
@@ -0,0 +1,43 @@ | |||
1 | From c041a4da1ff119715e0ccf2d4a7af62568f17b93 Mon Sep 17 00:00:00 2001 | ||
2 | From: Jason Wang <jasowang@redhat.com> | ||
3 | Date: Wed, 24 Feb 2021 12:57:40 +0800 | ||
4 | Subject: [PATCH 03/10] dp8393x: switch to use qemu_receive_packet() for | ||
5 | loopback packet | ||
6 | MIME-Version: 1.0 | ||
7 | Content-Type: text/plain; charset=UTF-8 | ||
8 | Content-Transfer-Encoding: 8bit | ||
9 | |||
10 | This patch switches to use qemu_receive_packet() which can detect | ||
11 | reentrancy and return early. | ||
12 | |||
13 | This is intended to address CVE-2021-3416. | ||
14 | |||
15 | Cc: Prasad J Pandit <ppandit@redhat.com> | ||
16 | Cc: qemu-stable@nongnu.org | ||
17 | Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com | ||
18 | Signed-off-by: Jason Wang <jasowang@redhat.com> | ||
19 | |||
20 | Upstream-Status: Backport [331d2ac9ea307c990dc86e6493e8f0c48d14bb33] | ||
21 | CVE: CVE-2021-3416 | ||
22 | |||
23 | Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com> | ||
24 | --- | ||
25 | hw/net/dp8393x.c | 2 +- | ||
26 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
27 | |||
28 | diff --git a/hw/net/dp8393x.c b/hw/net/dp8393x.c | ||
29 | index 205c0decc..533a8304d 100644 | ||
30 | --- a/hw/net/dp8393x.c | ||
31 | +++ b/hw/net/dp8393x.c | ||
32 | @@ -506,7 +506,7 @@ static void dp8393x_do_transmit_packets(dp8393xState *s) | ||
33 | s->regs[SONIC_TCR] |= SONIC_TCR_CRSL; | ||
34 | if (nc->info->can_receive(nc)) { | ||
35 | s->loopback_packet = 1; | ||
36 | - nc->info->receive(nc, s->tx_buffer, tx_len); | ||
37 | + qemu_receive_packet(nc, s->tx_buffer, tx_len); | ||
38 | } | ||
39 | } else { | ||
40 | /* Transmit packet */ | ||
41 | -- | ||
42 | 2.29.2 | ||
43 | |||