lkml.org 
[lkml]   [1999]   [May]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subjectquestion for ia32/linux experts
Date
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/

\
 
 \ /
  Last update: 2005-03-22 13:51    [W:0.119 / U:0.168 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site