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

Reply via email to