Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/nathanw_sa]: src/sys/arch/arm/arm32 Pull up stack-tracking fix.



details:   https://anonhg.NetBSD.org/src/rev/7e05ebb9ad87
branches:  nathanw_sa
changeset: 506247:7e05ebb9ad87
user:      nathanw <nathanw%NetBSD.org@localhost>
date:      Thu Sep 26 19:12:22 2002 +0000

description:
Pull up stack-tracking fix.

diffstat:

 sys/arch/arm/arm32/fault.c |  10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

diffs (32 lines):

diff -r dfbb77a7a6c1 -r 7e05ebb9ad87 sys/arch/arm/arm32/fault.c
--- a/sys/arch/arm/arm32/fault.c        Mon Sep 23 18:09:39 2002 +0000
+++ b/sys/arch/arm/arm32/fault.c        Thu Sep 26 19:12:22 2002 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: fault.c,v 1.4.2.13 2002/08/28 20:14:24 nathanw Exp $   */
+/*     $NetBSD: fault.c,v 1.4.2.14 2002/09/26 19:12:22 nathanw Exp $   */
 
 /*
  * Copyright (c) 1994-1997 Mark Brinicombe.
@@ -47,7 +47,7 @@
 #include "opt_pmap_debug.h"
 
 #include <sys/types.h>
-__KERNEL_RCSID(0, "$NetBSD: fault.c,v 1.4.2.13 2002/08/28 20:14:24 nathanw Exp $");
+__KERNEL_RCSID(0, "$NetBSD: fault.c,v 1.4.2.14 2002/09/26 19:12:22 nathanw Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -514,9 +514,11 @@
                pcb->pcb_onfault = NULL;
                rv = uvm_fault(map, va, 0, ftype);
                pcb->pcb_onfault = onfault;
-               if (rv == 0)
+               if (rv == 0) {
+                       if (user != 0) /* Record any stack growth... */
+                               uvm_grow(p, trunc_page(va));
                        goto out;
-
+               }
                if (user == 0) {
                        if (pcb->pcb_onfault) {
                                frame->tf_r0 = rv;



Home | Main Index | Thread Index | Old Index