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