Accepting request 22307 from Virtualization
Copy from Virtualization/libvirt based on submit request 22307 from user jfehlig OBS-URL: https://build.opensuse.org/request/show/22307 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libvirt?expand=0&rev=43
This commit is contained in:
commit
c7bd8ae9a6
@ -1,3 +1,11 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Oct 12 22:39:42 MDT 2009 - jfehlig@novell.com
|
||||||
|
|
||||||
|
- Build phyp driver ifarch ppc64
|
||||||
|
fate#307096
|
||||||
|
- Fix memory leaks in libvirtd's message processing
|
||||||
|
msg-proc-memleak.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Sep 29 08:34:28 MDT 2009 - jfehlig@novell.com
|
Tue Sep 29 08:34:28 MDT 2009 - jfehlig@novell.com
|
||||||
|
|
||||||
|
12
libvirt.spec
12
libvirt.spec
@ -20,6 +20,7 @@
|
|||||||
%define with_xen 1
|
%define with_xen 1
|
||||||
%define with_lxc 0
|
%define with_lxc 0
|
||||||
%define with_selinux 0
|
%define with_selinux 0
|
||||||
|
%define with_phyp 0
|
||||||
# Xen is available only on i386 x86_64
|
# Xen is available only on i386 x86_64
|
||||||
%ifnarch %ix86 x86_64
|
%ifnarch %ix86 x86_64
|
||||||
%define with_xen 0
|
%define with_xen 0
|
||||||
@ -28,6 +29,10 @@
|
|||||||
%define with_lxc 1
|
%define with_lxc 1
|
||||||
%define with_selinux 1
|
%define with_selinux 1
|
||||||
%endif
|
%endif
|
||||||
|
# Build phyp backend for IBM Power systems
|
||||||
|
%ifarch ppc64
|
||||||
|
%define with_phyp 1
|
||||||
|
%endif
|
||||||
|
|
||||||
Name: libvirt
|
Name: libvirt
|
||||||
BuildRequires: bridge-utils cyrus-sasl-devel device-mapper-devel fdupes gettext gnutls-devel hal-devel iptables-devel libxml2-devel lvm2 ncurses-devel parted-devel pkg-config python-devel readline-devel util-linux xhtml-dtd
|
BuildRequires: bridge-utils cyrus-sasl-devel device-mapper-devel fdupes gettext gnutls-devel hal-devel iptables-devel libxml2-devel lvm2 ncurses-devel parted-devel pkg-config python-devel readline-devel util-linux xhtml-dtd
|
||||||
@ -50,6 +55,9 @@ BuildRequires: polkit >= 0.9
|
|||||||
%else
|
%else
|
||||||
BuildRequires: PolicyKit-devel >= 0.6
|
BuildRequires: PolicyKit-devel >= 0.6
|
||||||
%endif
|
%endif
|
||||||
|
%if %{with_phyp}
|
||||||
|
BuildRequires: libssh2-devel
|
||||||
|
%endif
|
||||||
# Only for directory ownership:
|
# Only for directory ownership:
|
||||||
BuildRequires: gtk-doc
|
BuildRequires: gtk-doc
|
||||||
Url: http://libvirt.org/
|
Url: http://libvirt.org/
|
||||||
@ -57,7 +65,7 @@ License: LGPL v2.1 or later
|
|||||||
Group: Development/Libraries/C and C++
|
Group: Development/Libraries/C and C++
|
||||||
AutoReqProv: yes
|
AutoReqProv: yes
|
||||||
Version: 0.7.1
|
Version: 0.7.1
|
||||||
Release: 2
|
Release: 3
|
||||||
Summary: A C toolkit to interract with the virtualization capabilities of Linux
|
Summary: A C toolkit to interract with the virtualization capabilities of Linux
|
||||||
Requires: readline
|
Requires: readline
|
||||||
Requires: ncurses
|
Requires: ncurses
|
||||||
@ -86,6 +94,7 @@ Source1: libvirtd.init
|
|||||||
Patch0: devmap-no-pkgconfig.patch
|
Patch0: devmap-no-pkgconfig.patch
|
||||||
Patch1: xen-refcnt.patch
|
Patch1: xen-refcnt.patch
|
||||||
Patch2: vshdeinit-recurse.patch
|
Patch2: vshdeinit-recurse.patch
|
||||||
|
Patch3: msg-proc-memleak.patch
|
||||||
# Need to go upstream
|
# Need to go upstream
|
||||||
Patch100: socat.patch
|
Patch100: socat.patch
|
||||||
Patch101: clone.patch
|
Patch101: clone.patch
|
||||||
@ -190,6 +199,7 @@ Authors:
|
|||||||
%patch0 -p1
|
%patch0 -p1
|
||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
%patch2 -p1
|
%patch2 -p1
|
||||||
|
%patch3 -p1
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%patch101
|
%patch101
|
||||||
%patch102 -p1
|
%patch102 -p1
|
||||||
|
48
msg-proc-memleak.patch
Normal file
48
msg-proc-memleak.patch
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
Index: libvirt-0.7.1/qemud/dispatch.c
|
||||||
|
===================================================================
|
||||||
|
--- libvirt-0.7.1.orig/qemud/dispatch.c
|
||||||
|
+++ libvirt-0.7.1/qemud/dispatch.c
|
||||||
|
@@ -191,6 +191,7 @@ remoteSerializeError(struct qemud_client
|
||||||
|
|
||||||
|
xdr_error:
|
||||||
|
xdr_destroy(&xdr);
|
||||||
|
+ VIR_FREE(msg);
|
||||||
|
fatal_error:
|
||||||
|
xdr_free((xdrproc_t)xdr_remote_error, (char *)rerr);
|
||||||
|
return -1;
|
||||||
|
@@ -336,6 +337,7 @@ remoteDispatchClientRequest (struct qemu
|
||||||
|
struct qemud_client *client,
|
||||||
|
struct qemud_client_message *msg)
|
||||||
|
{
|
||||||
|
+ int ret;
|
||||||
|
remote_error rerr;
|
||||||
|
|
||||||
|
memset(&rerr, 0, sizeof rerr);
|
||||||
|
@@ -364,7 +366,12 @@ remoteDispatchClientRequest (struct qemu
|
||||||
|
}
|
||||||
|
|
||||||
|
error:
|
||||||
|
- return remoteSerializeReplyError(client, &rerr, &msg->hdr);
|
||||||
|
+ ret = remoteSerializeReplyError(client, &rerr, &msg->hdr);
|
||||||
|
+
|
||||||
|
+ if (ret >= 0)
|
||||||
|
+ VIR_FREE(msg);
|
||||||
|
+
|
||||||
|
+ return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -521,8 +528,12 @@ remoteDispatchClientCall (struct qemud_s
|
||||||
|
rpc_error:
|
||||||
|
/* Semi-bad stuff happened, we can still try to send back
|
||||||
|
* an RPC error message to client */
|
||||||
|
- return remoteSerializeReplyError(client, &rerr, &msg->hdr);
|
||||||
|
+ rv = remoteSerializeReplyError(client, &rerr, &msg->hdr);
|
||||||
|
+
|
||||||
|
+ if (rv >= 0)
|
||||||
|
+ VIR_FREE(msg);
|
||||||
|
|
||||||
|
+ return rv;
|
||||||
|
|
||||||
|
xdr_error:
|
||||||
|
/* Seriously bad stuff happened, so we'll kill off this client
|
@ -1,27 +0,0 @@
|
|||||||
From 1a1f8b9dbb68bf43c831e471ab4308d81a113ecd Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jim Fehlig <jfehlig@novell.com>
|
|
||||||
Date: Tue, 25 Aug 2009 15:54:18 -0600
|
|
||||||
Subject: [PATCH] Fix sexpr2string() to handle empty list.
|
|
||||||
|
|
||||||
S-expression containing empty lists, e.g. (cpus (() () () ())),
|
|
||||||
was not being handled properly in sexpr2string() serialization.
|
|
||||||
Emit an empty list when encountering NIL sexpr kind.
|
|
||||||
---
|
|
||||||
src/sexpr.c | 4 ++++
|
|
||||||
1 files changed, 4 insertions(+), 0 deletions(-)
|
|
||||||
|
|
||||||
Index: libvirt-0.7.0/src/sexpr.c
|
|
||||||
===================================================================
|
|
||||||
--- libvirt-0.7.0.orig/src/sexpr.c
|
|
||||||
+++ libvirt-0.7.0/src/sexpr.c
|
|
||||||
@@ -255,6 +255,10 @@ sexpr2string(const struct sexpr * sexpr,
|
|
||||||
ret += tmp;
|
|
||||||
break;
|
|
||||||
case SEXPR_NIL:
|
|
||||||
+ tmp = snprintf(buffer + ret, n_buffer - ret, "()");
|
|
||||||
+ if (tmp == 0)
|
|
||||||
+ goto error;
|
|
||||||
+ ret += tmp;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
goto error;
|
|
Loading…
Reference in New Issue
Block a user