Messages in this thread | | | From | (Kanoj Sarcar) | Subject | question for ia32/linux experts | Date | Thu, 6 May 1999 19:00:27 -0700 (PDT) |
| |
Hi all,
I have a question about the RESTORE_ALL macro in kern/arch/i386/kernel/entry.S.
The macro seems to imply that the "popl %ds", "popl %es" and "iret" might take faults/exceptions. Exactly how can you force these conditions in Linux? It seems to me that a user program can not just fill in arbitrary values into ds/es before a system call (since the processor would check the validity of the segment register contents at load time in user space), forcing the kernel to take the exception path for the popl's.
The "iret" might have a problem, possibly if the user invoked a system call that unmapped his code or stack, but it seems to me that should cause page_fault from a user mode eip (instead of from kernel mode with the eip pointing to the iret instruction). What else can force an exception in this case?
Thanks. Please CC me (kanoj@engr.sgi.com) on any replies.
Kanoj
PS - Any code snippets that trigger these conditions will be greatly appreciated ...
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |