mirror of
https://codeberg.org/guix/guix.git
synced 2026-01-25 03:55:08 -06:00
gnu: spice-vdagent: Apply a patch fixing the monitor size calculation.
This fixes errors like: spice-vdagentd[870]: invalid message size for VDAgentMonitorsConfig See: <https://github.com/utmapp/UTM/issues/5832#issuecomment-3194879161> * gnu/packages/patches/spice-vdagent-monitor-size-calculation.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/spice.scm (spice-vdagent) [source] <patches>: New field. Change-Id: I4bc0f8e207bef65c8f2fcd64928315825d520ad1
This commit is contained in:
parent
40311644a2
commit
a308eead37
3 changed files with 34 additions and 1 deletions
|
|
@ -2331,6 +2331,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/softhsm-fix-openssl3-tests.patch \
|
||||
%D%/packages/patches/spectre-meltdown-checker-externalize-fwdb.patch \
|
||||
%D%/packages/patches/sphinxbase-fix-doxygen.patch \
|
||||
%D%/packages/patches/spice-vdagent-monitor-size-calculation.patch \
|
||||
%D%/packages/patches/guile-srfi-125-fix-r7rs-rename-clause.patch \
|
||||
%D%/packages/patches/sssd-system-directories.patch \
|
||||
%D%/packages/patches/steghide-fixes.patch \
|
||||
|
|
|
|||
|
|
@ -0,0 +1,29 @@
|
|||
From 3660acfcbaaca9c66dca5ef09205bd7c1d70b98c Mon Sep 17 00:00:00 2001
|
||||
From: Lukas Joeressen <lukas@joeressen.net>
|
||||
Date: Sat, 12 Apr 2025 10:42:02 +0200
|
||||
Subject: [PATCH] Fix VDAGentMonitorConfig size calculation
|
||||
|
||||
The VDAgentMonitorsConfig struct has the VD_AGENT_CONFIG_MONITORS_FLAG_PHYSICAL_SIZE flag that
|
||||
indicates if physical monitor sizes are included in the data. If this flag is set there is one
|
||||
instance of VDAgentMonitorMM for each monitor following the other data.
|
||||
---
|
||||
src/vdagentd/vdagentd.c | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/src/vdagentd/vdagentd.c b/src/vdagentd/vdagentd.c
|
||||
index 3e59331..27a6f15 100644
|
||||
--- a/src/vdagentd/vdagentd.c
|
||||
+++ b/src/vdagentd/vdagentd.c
|
||||
@@ -208,6 +208,9 @@ static void do_client_monitors(VirtioPort *vport, int port_nr,
|
||||
/* Store monitor config to send to agents when they connect */
|
||||
size = sizeof(VDAgentMonitorsConfig) +
|
||||
new_monitors->num_of_monitors * sizeof(VDAgentMonConfig);
|
||||
+ if (new_monitors->flags & VD_AGENT_CONFIG_MONITORS_FLAG_PHYSICAL_SIZE) {
|
||||
+ size += new_monitors->num_of_monitors * sizeof(VDAgentMonitorMM);
|
||||
+ }
|
||||
if (message_header->size != size) {
|
||||
syslog(LOG_ERR, "invalid message size for VDAgentMonitorsConfig");
|
||||
return;
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
|
@ -293,7 +293,10 @@ Internet and from a wide variety of machine architectures.")
|
|||
"spice-vdagent-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"18472sqr0gibzgzi48dpcbnvm78l05qrl5wv6xywqqj7r9dd3c4k"))))
|
||||
"18472sqr0gibzgzi48dpcbnvm78l05qrl5wv6xywqqj7r9dd3c4k"))
|
||||
(patches
|
||||
(search-patches
|
||||
"spice-vdagent-monitor-size-calculation.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue