RE: Fast IPC path on IA32

"Jan Stoess" <[email protected]>
Newsgroups gmane.comp.micro-kernel.l4.l4ka.general
Message-ID <[email protected]>
Thanks Alexei,

I've reproduced the bug and just corrected it in our mercurial development
repository. Find the latest version under
http://l4ka.org/projects/pistachio/download.php

--
Jan Stoess
System Architecture Group
University of Karlsruhe


> -----Original Message-----
> From: [email protected] [mailto:[email protected]
> karlsruhe.de] On Behalf Of Alexei Mandrykine
> Sent: Monday, July 23, 2007 03:25
> To: [email protected]
> Subject: Fast IPC path on IA32
> 
> Hello l4ka.
> 
> The code of Fast IPC path on IA32 is broken.
> At least on CVS state on 2006 August 10.
> 
> I spent about two weeks to find why a signal handler does not work
> correctly. The signal handler emaultes signal delivery via
> L4_ExchangeRegisters syscal.
> 
> In case of receiving phase of IPC has to be aborted, application
> generating strange exception - "kernel access raised user pagefault".
> 
> The reason of this exception is tcb_t::return_from_ipc(void) {glue/v4-
> ia32/tcb.h},
> that returns to 'fp_ipc_done' {glue/v4-ia32/trap.S}. At this point ESI
> conveys MR0
> value, but 'fp_ipc_done' uses ESI as pointer to current TCB.
> 
> This bug does not appear if kernel compiled without "Fast IPC path"
> feature.
> 
> 
> --
> Regards,
>  Aleksey Mandrykin                         mailto:[email protected]
>
smime.p7s (application/x-pkcs7-signature, 3.1 KB) - not displayed
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.