Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/kern check for errors from proc_vmspace_getref().
details: https://anonhg.NetBSD.org/src/rev/5ffb24042eb1
branches: trunk
changeset: 969526:5ffb24042eb1
user: chs <chs%NetBSD.org@localhost>
date: Sat Feb 22 21:59:30 2020 +0000
description:
check for errors from proc_vmspace_getref().
diffstat:
sys/kern/subr_copy.c | 13 +++++++------
1 files changed, 7 insertions(+), 6 deletions(-)
diffs (37 lines):
diff -r 6f2f7b9d7e31 -r 5ffb24042eb1 sys/kern/subr_copy.c
--- a/sys/kern/subr_copy.c Sat Feb 22 21:45:34 2020 +0000
+++ b/sys/kern/subr_copy.c Sat Feb 22 21:59:30 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: subr_copy.c,v 1.11 2019/04/07 16:27:41 thorpej Exp $ */
+/* $NetBSD: subr_copy.c,v 1.12 2020/02/22 21:59:30 chs Exp $ */
/*-
* Copyright (c) 1997, 1998, 1999, 2002, 2007, 2008, 2019
@@ -80,7 +80,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: subr_copy.c,v 1.11 2019/04/07 16:27:41 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: subr_copy.c,v 1.12 2020/02/22 21:59:30 chs Exp $");
#define __UFETCHSTORE_PRIVATE
#define __UCAS_PRIVATE
@@ -321,13 +321,14 @@
return ESRCH;
}
mutex_enter(p->p_lock);
- proc_vmspace_getref(p, &vm);
+ error = proc_vmspace_getref(p, &vm);
mutex_exit(p->p_lock);
mutex_exit(proc_lock);
- error = copyin_vmspace(vm, uaddr, kaddr, len);
-
- uvmspace_free(vm);
+ if (error == 0) {
+ error = copyin_vmspace(vm, uaddr, kaddr, len);
+ uvmspace_free(vm);
+ }
return error;
}
Home |
Main Index |
Thread Index |
Old Index