On 03/15/2012 04:25 PM, Jan Kiszka wrote:
Not only page faults are processed by __ipipe_handle_exception, so the
validity and encoding of error_code varies. Use user_mode_vm instead to
detect if the fault was raised over a user context.
Signed-off-by: Jan Kiszka<[email protected]>
---
arch/x86/kernel/ipipe.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/arch/x86/kernel/ipipe.c b/arch/x86/kernel/ipipe.c
index 5be7005..b2e2a5b 100644
--- a/arch/x86/kernel/ipipe.c
+++ b/arch/x86/kernel/ipipe.c
@@ -560,7 +560,8 @@ int __ipipe_handle_exception(struct pt_regs *regs, long
error_code, int vector)
ipipe_trace_panic_freeze();
/* Always warn about user land and unfixable faults. */
- if ((error_code& 4) ||
!search_exception_tables(instruction_pointer(regs))) {
+ if (user_mode_vm(regs) ||
+ !search_exception_tables(instruction_pointer(regs))) {
printk(KERN_ERR "BUG: Unhandled exception over domain"
" %s at 0x%lx - switching to ROOT\n",
ipd->name, instruction_pointer(regs));
Merged, thanks.
--
Philippe.
_______________________________________________
Adeos-main mailing list
[email protected]
https://mail.gna.org/listinfo/adeos-main