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: >dbahi@enterasys.com 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