Le 03/10/2014 22:56, Christos Zoulas a écrit :
Module Name: src
Committed By: christos
Date: Fri Oct 3 20:56:24 UTC 2014
Modified Files:
src/sys/arch/xen/xen: privcmd.c
Log Message:
correct error paths; still need to verify that the "didn't give us back..."
case is correct.
To generate a diff of this commit:
cvs rdiff -u -r1.47 -r1.48 src/sys/arch/xen/xen/privcmd.c
Don't you think that you should also revert r1.46 [1]? Now that
privcmd_map_obj() frees everything correctly...
[1]:
===================================================================
RCS file: /ftp/cvs/cvsroot/src/sys/arch/xen/xen/privcmd.c,v
rcsdiff: /ftp/cvs/cvsroot/src/sys/arch/xen/xen/privcmd.c,v: warning: Unknown phrases like `commitid ...;' are present.
retrieving revision 1.45
retrieving revision 1.46
diff -u -p -r1.45 -r1.46
--- src/sys/arch/xen/xen/privcmd.c 2013/11/06 06:23:15 1.45
+++ src/sys/arch/xen/xen/privcmd.c 2014/09/21 16:53:38 1.46
@@ -1,4 +1,4 @@
-/* $NetBSD: privcmd.c,v 1.45 2013/11/06 06:23:15 mrg Exp $ */
+/* $NetBSD: privcmd.c,v 1.46 2014/09/21 16:53:38 christos Exp $ */
/*-
* Copyright (c) 2004 Christian Limpach.
@@ -27,7 +27,7 @@
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: privcmd.c,v 1.45 2013/11/06 06:23:15 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: privcmd.c,v 1.46 2014/09/21 16:53:38 christos Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -360,8 +360,11 @@ privcmd_ioctl(void *v)
}
error = privcmd_map_obj(vmm, va, maddr,
mentry.npages, mcmd->dom);
- if (error)
+ if (error) {
+ kmem_free(maddr,
+ sizeof(paddr_t) * mentry.npages);
return error;
+ }
}
break;
}