summaryrefslogtreecommitdiffstats
path: root/arch/sparc/mm/asyncd.c
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-02-18 00:24:27 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-02-18 00:24:27 +0000
commitb9558d5f86c471a125abf1fb3a3882fb053b1f8c (patch)
tree707b53ec64e740a7da87d5f36485e3cd9b1c794e /arch/sparc/mm/asyncd.c
parentb3ac367c7a3e6047abe74817db27e34e759f279f (diff)
Merge with Linux 2.3.41.
Diffstat (limited to 'arch/sparc/mm/asyncd.c')
-rw-r--r--arch/sparc/mm/asyncd.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/arch/sparc/mm/asyncd.c b/arch/sparc/mm/asyncd.c
index 569940417..0034cb60b 100644
--- a/arch/sparc/mm/asyncd.c
+++ b/arch/sparc/mm/asyncd.c
@@ -1,4 +1,4 @@
-/* $Id: asyncd.c,v 1.19 2000/01/08 20:22:16 davem Exp $
+/* $Id: asyncd.c,v 1.20 2000/01/21 11:38:47 jj Exp $
* The asyncd kernel daemon. This handles paging on behalf of
* processes that receive page faults due to remote (async) memory
* accesses.
@@ -116,6 +116,7 @@ static int fault_in_page(int taskid,
pgd_t *pgd;
pmd_t *pmd;
pte_t *pte;
+ siginfo_t info;
if (!tsk || !tsk->mm)
return 1;
@@ -179,9 +180,12 @@ no_memory:
bad_area:
stats.failure++;
- tsk->thread.sig_address = address;
- tsk->thread.sig_desc = SUBSIG_NOMAPPING;
- send_sig(SIGSEGV, tsk, 1);
+ info.si_signo = SIGSEGV;
+ info.si_errno = 0;
+ info.si_code = SEGV_MAPERR;
+ info.si_addr = (void *)address;
+ info.si_trapno = 0;
+ send_sig_info(SIGSEGV, &info, tsk);
return 1;
}