The variable virq_port of type uint32_t was compared to being greater than -1. This check always results in false for unsigned data types, resulting in never cleaning up the memory. Furthermore, the initialization with a negative variable for an unsigned type has been fixed.
Signed-off-by: Norbert Manthey <nmant...@amazon.com> --- tools/misc/xen-lowmemd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/misc/xen-lowmemd.c b/tools/misc/xen-lowmemd.c index 3200404..865a54c 100644 --- a/tools/misc/xen-lowmemd.c +++ b/tools/misc/xen-lowmemd.c @@ -10,14 +10,14 @@ #include <stdlib.h> #include <string.h> -static evtchn_port_t virq_port = -1; +static evtchn_port_t virq_port = ~0; static xenevtchn_handle *xce_handle = NULL; static xc_interface *xch = NULL; static struct xs_handle *xs_handle = NULL; void cleanup(void) { - if (virq_port > -1) + if (virq_port != ~0) xenevtchn_unbind(xce_handle, virq_port); if (xce_handle) xenevtchn_close(xce_handle); -- 2.7.4 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel