yep. have exactly that:
void initial_thread_cb_skas(void (*proc)(void *), void *arg)
{
sigjmp_buf here;
cb_proc = proc;
cb_arg = arg;
cb_back = &here;
block_signals();
if(sigsetjmp(here, 1) == 0)
siglongjmp(initial_jmpbuf, 2);
unblock_signals();
cb_proc = NULL;
cb_arg = NULL;
cb_back = NULL;
}
Jeff Dike wrote:
[EMAIL PROTECTED] said:
actually - 2.4.26-3um looks like this already.
Yeah, if I had spent a bit more time looking at the stack, I would have
noticed
that the symptom was wrong for that patch. What's happening is that you are
taking a timer interrupt while on the initial process stack, which can't be
allowed because interrupts should only happen on a kernel stack.
Make sure your initial_thread_cb_skas (in arch/um/kernel/skas/process.c)
blocks signals like so:
block_signals();
if(sigsetjmp(here, 1) == 0)
siglongjmp(initial_jmpbuf, 2);
unblock_signals();
Jeff
--
db
signature.asc
Description: OpenPGP digital signature