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;
        }

Reply via email to