Hi Al, Today's linux-next merge of the signal tree got a conflict in arch/arm/kernel/process.c between commit 77a3018e38b9 ("Cortex-M3: Add support for exception handling") from the cortex tree and commit 9e6479930021 ("arm: switch to generic fork/vfork/clone") from the signal tree. I fixed it up (I think - see below) and can carry the fix as necessary (no action is required). -- Cheers, Stephen Rothwell sfr@xxxxxxxxxxxxxxxx diff --cc arch/arm/kernel/process.c index 585b9ab,4ab80bb..0000000 --- a/arch/arm/kernel/process.c +++ b/arch/arm/kernel/process.c @@@ -384,14 -383,11 +384,15 @@@ copy_thread(unsigned long clone_flags, memset(&thread->cpu_context, 0, sizeof(struct cpu_context_save)); - if (likely(regs)) { - *childregs = *regs; + if (likely(!(p->flags & PF_KTHREAD))) { + *childregs = *current_pt_regs(); childregs->ARM_r0 = 0; - childregs->ARM_sp = stack_start; + if (stack_start) + childregs->ARM_sp = stack_start; +#if defined CONFIG_CPU_V7M + /* Return to Thread mode with Process stack */ + childregs->ARM_EXC_RET = 0xfffffffdUL; +#endif } else { memset(childregs, 0, sizeof(struct pt_regs)); thread->cpu_context.r4 = stk_sz;
Attachment:
pgpEgX54WyNk1.pgp
Description: PGP signature