From: Zqiang <[email protected]> Fix issue 48 Reference to upstream patch: https://gitlab.freedesktop.org/slirp/libslirp/-/commit/c9f314f6e315a5518432761fea864196a290f799
Signed-off-by: Zqiang <[email protected]> --- meta/recipes-devtools/qemu/qemu.inc | 1 + ...1-Fix-DHCP-broken-in-libslirp-v4.6.0.patch | 32 +++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 meta/recipes-devtools/qemu/qemu/0001-Fix-DHCP-broken-in-libslirp-v4.6.0.patch diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc index 3921546df7..bed175e59d 100644 --- a/meta/recipes-devtools/qemu/qemu.inc +++ b/meta/recipes-devtools/qemu/qemu.inc @@ -57,6 +57,7 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \ file://CVE-2020-27821.patch \ file://CVE-2021-20263.patch \ file://CVE-2021-3392.patch \ + file://0001-Fix-DHCP-broken-in-libslirp-v4.6.0.patch \ " UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar" diff --git a/meta/recipes-devtools/qemu/qemu/0001-Fix-DHCP-broken-in-libslirp-v4.6.0.patch b/meta/recipes-devtools/qemu/qemu/0001-Fix-DHCP-broken-in-libslirp-v4.6.0.patch new file mode 100644 index 0000000000..480dcee05e --- /dev/null +++ b/meta/recipes-devtools/qemu/qemu/0001-Fix-DHCP-broken-in-libslirp-v4.6.0.patch @@ -0,0 +1,32 @@ +From c9f314f6e315a5518432761fea864196a290f799 Mon Sep 17 00:00:00 2001 +From: Akihiro Suda <[email protected]> +Date: Thu, 17 Jun 2021 18:01:32 +0900 +Subject: [PATCH] Fix "DHCP broken in libslirp v4.6.0" + +Fix issue 48 +Reference to upstream patch: +https://gitlab.freedesktop.org/slirp/libslirp/-/commit/c9f314f6e315a5518432761fea864196a290f799 + +Signed-off-by: Akihiro Suda <[email protected]> +--- + src/bootp.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/bootp.c b/src/bootp.c +index cafa1eb..0a35873 100644 +--- a/slirp/src/bootp.c ++++ b/slirp/src/bootp.c +@@ -359,7 +359,9 @@ static void bootp_reply(Slirp *slirp, + + daddr.sin_addr.s_addr = 0xffffffffu; + +- m->m_len = sizeof(struct bootp_t) - sizeof(struct ip) - sizeof(struct udphdr); ++ assert ((q - rbp->bp_vend + 1) <= DHCP_OPT_LEN); ++ ++ m->m_len = sizeof(struct bootp_t) + (q - rbp->bp_vend + 1) - sizeof(struct ip) - sizeof(struct udphdr); + udp_output(NULL, m, &saddr, &daddr, IPTOS_LOWDELAY); + } + +-- +2.17.1 + -- 2.17.1
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#154408): https://lists.openembedded.org/g/openembedded-core/message/154408 Mute This Topic: https://lists.openembedded.org/mt/84656330/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
