Le 10/10/2014 18:42, Maxime Villard a écrit :
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.cDon'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; }
??
