mirror of
https://git.yoctoproject.org/poky
synced 2026-01-29 21:08:42 +01:00
qemu: upgrade 10.0.2 -> 10.0.6
Handles CVE-2024-8354. Drop patch included in (backported to) this release. Reference: * https://security-tracker.debian.org/tracker/CVE-2024-8354 (From OE-Core rev: f9d2e0155df2fe799e5edd0b52097ee284930ba5) Signed-off-by: Peter Marko <peter.marko@siemens.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
2fbf318ed7
commit
941c3ac5a8
@@ -31,7 +31,6 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \
|
||||
file://0008-Define-MAP_SYNC-and-MAP_SHARED_VALIDATE-on-needed-li.patch \
|
||||
file://0010-configure-lookup-meson-exutable-from-PATH.patch \
|
||||
file://0011-qemu-Ensure-pip-and-the-python-venv-aren-t-used-for-.patch \
|
||||
file://0012-Remove-deprecated-get_event_loop-calls.patch \
|
||||
file://qemu-guest-agent.init \
|
||||
file://qemu-guest-agent.udev \
|
||||
"
|
||||
@@ -39,7 +38,7 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \
|
||||
UPSTREAM_CHECK_URI = "https://www.qemu.org"
|
||||
UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar"
|
||||
|
||||
SRC_URI[sha256sum] = "ef786f2398cb5184600f69aef4d5d691efd44576a3cff4126d38d4c6fec87759"
|
||||
SRC_URI[sha256sum] = "c7c40c4b166871e775804e97fce4da65665d1cc93a5c6c9e2ede9d9ee992e7a0"
|
||||
|
||||
CVE_STATUS[CVE-2007-0998] = "not-applicable-config: The VNC server can expose host files uder some circumstances. We don't enable it by default."
|
||||
|
||||
@@ -51,6 +50,7 @@ CVE_STATUS[CVE-2023-2680] = "not-applicable-platform: RHEL specific issue."
|
||||
|
||||
# NVD DB has this CVE as version-less (with "-")
|
||||
CVE_STATUS[CVE-2024-6505] = "fixed-version: this CVE is fixed since 9.1.0"
|
||||
CVE_STATUS[CVE-2024-8354] = "fixed-version: this CVE is fixed since 10.0.5"
|
||||
|
||||
CVE_STATUS[CVE-2023-1386] = "disputed: not an issue as per https://bugzilla.redhat.com/show_bug.cgi?id=2223985"
|
||||
|
||||
|
||||
@@ -1,85 +0,0 @@
|
||||
From 5240406747fd43886618ae8194153e6fc957a82a Mon Sep 17 00:00:00 2001
|
||||
From: John Snow <jsnow@redhat.com>
|
||||
Date: Tue, 13 Aug 2024 09:35:30 -0400
|
||||
Subject: [PATCH] Remove deprecated get_event_loop calls
|
||||
|
||||
This method was deprecated in 3.12 because it ordinarily should not be
|
||||
used from coroutines; if there is not a currently running event loop,
|
||||
this automatically creates a new event loop - which is usually not what
|
||||
you want from code that would ever run in the bottom half.
|
||||
|
||||
In our case, we do want this behavior in two places:
|
||||
|
||||
(1) The synchronous shim, for convenience: this allows fully sync
|
||||
programs to use QEMUMonitorProtocol() without needing to set up an event
|
||||
loop beforehand. This is intentional to fully box in the async
|
||||
complexities into the legacy sync shim.
|
||||
|
||||
(2) The qmp_tui shell; instead of relying on asyncio.run to create and
|
||||
run an asyncio program, we need to be able to pass the current asyncio
|
||||
loop to urwid setup functions. For convenience, again, we create one if
|
||||
one is not present to simplify the creation of the TUI appliance.
|
||||
|
||||
The remaining user of get_event_loop() was in fact one of the erroneous
|
||||
users that should not have been using this function: if there's no
|
||||
running event loop inside of a coroutine, you're in big trouble :)
|
||||
|
||||
Upstream-Status: Backport [https://gitlab.com/qemu-project/python-qemu-qmp/-/merge_requests/33]
|
||||
Signed-off-by: John Snow <jsnow@redhat.com>
|
||||
---
|
||||
python/qemu/qmp/legacy.py | 9 ++++++++-
|
||||
python/qemu/qmp/qmp_tui.py | 7 ++++++-
|
||||
python/tests/protocol.py | 2 +-
|
||||
3 files changed, 15 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/python/qemu/qmp/legacy.py b/python/qemu/qmp/legacy.py
|
||||
index 22a2b56..ea9b803 100644
|
||||
--- a/python/qemu/qmp/legacy.py
|
||||
+++ b/python/qemu/qmp/legacy.py
|
||||
@@ -86,7 +86,14 @@ def __init__(self,
|
||||
"server argument should be False when passing a socket")
|
||||
|
||||
self._qmp = QMPClient(nickname)
|
||||
- self._aloop = asyncio.get_event_loop()
|
||||
+
|
||||
+ try:
|
||||
+ self._aloop = asyncio.get_running_loop()
|
||||
+ except RuntimeError:
|
||||
+ # No running loop; since this is a sync shim likely to be
|
||||
+ # used in fully sync programs, create one if neccessary.
|
||||
+ self._aloop = asyncio.get_event_loop_policy().get_event_loop()
|
||||
+
|
||||
self._address = address
|
||||
self._timeout: Optional[float] = None
|
||||
|
||||
diff --git a/python/qemu/qmp/qmp_tui.py b/python/qemu/qmp/qmp_tui.py
|
||||
index 2d9ebbd..d11b9fc 100644
|
||||
--- a/python/qemu/qmp/qmp_tui.py
|
||||
+++ b/python/qemu/qmp/qmp_tui.py
|
||||
@@ -377,7 +377,12 @@ def run(self, debug: bool = False) -> None:
|
||||
screen = urwid.raw_display.Screen()
|
||||
screen.set_terminal_properties(256)
|
||||
|
||||
- self.aloop = asyncio.get_event_loop()
|
||||
+ try:
|
||||
+ self.aloop = asyncio.get_running_loop()
|
||||
+ except RuntimeError:
|
||||
+ # No running asyncio event loop. Create one if necessary.
|
||||
+ self.aloop = asyncio.get_event_loop_policy().get_event_loop()
|
||||
+
|
||||
self.aloop.set_debug(debug)
|
||||
|
||||
# Gracefully handle SIGTERM and SIGINT signals
|
||||
diff --git a/python/tests/protocol.py b/python/tests/protocol.py
|
||||
index 56c4d44..8dcef57 100644
|
||||
--- a/python/tests/protocol.py
|
||||
+++ b/python/tests/protocol.py
|
||||
@@ -228,7 +228,7 @@ def async_test(async_test_method):
|
||||
Decorator; adds SetUp and TearDown to async tests.
|
||||
"""
|
||||
async def _wrapper(self, *args, **kwargs):
|
||||
- loop = asyncio.get_event_loop()
|
||||
+ loop = asyncio.get_running_loop()
|
||||
loop.set_debug(True)
|
||||
|
||||
await self._asyncSetUp()
|
||||
Reference in New Issue
Block a user