[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20121105150307.05dc233ef299ab73df5dbf89@canb.auug.org.au>
Date: Mon, 5 Nov 2012 15:03:07 +1100
From: Stephen Rothwell <sfr@...b.auug.org.au>
To: Al Viro <viro@...IV.linux.org.uk>
Cc: linux-next@...r.kernel.org, linux-kernel@...r.kernel.org,
"Uwe Kleine-König"
<u.kleine-koenig@...gutronix.de>,
Catalin Marinas <catalin.marinas@....com>
Subject: linux-next: manual merge of the signal tree with the cortex tree
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@...b.auug.org.au
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;
Content of type "application/pgp-signature" skipped
Powered by blists - more mailing lists