L4Android kernel didn't intialize L4 stack for the server thread.
Haohui Mai
haohui.mai at gmail.com
Mon Apr 2 19:58:35 CEST 2012
One more related question -- it seems that when I call Linux functions, e.g., vmalloc(). The contents of message registers are no longer preserved.
Is it desired behavior?
I appreciate if you could document it somewhere if it's indeed the case. :-)
~Haohui
On Apr 2, 2012, at 4:23 AM, Adam Lackorzynski wrote:
>
> On Sun Apr 01, 2012 at 15:09:11 -0500, Mai, Haohui wrote:
>> It seems that I found a bug in the latest version of L4Android kernel. I'm
>> familiar enough with the code base so your comments are highly appreciated.
>>
>> The main thread for L4Linux (i.e., the thread running l4x_server_loop())
>> didn't initialize l4x_stack before execution. Therefore, this thread
>> crashes whenever it calls cli() / sti().
>>
>> Calling vmalloc() and kmalloc() can reproduce this bug reliably. Here is a
>> patch to fix this problem.
>
> On this thread no Linux code must be called, so any stack setup is not
> required. Call Linux functionality only in proper CPU contexts.
>
>
>
> Adam
> --
> Adam adam at os.inf.tu-dresden.de
> Lackorzynski http://os.inf.tu-dresden.de/~adam/
>
> _______________________________________________
> l4-hackers mailing list
> l4-hackers at os.inf.tu-dresden.de
> http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
More information about the l4-hackers
mailing list