* linux-next: manual merge of the signal tree with the cortex tree
@ 2012-11-05 4:03 Stephen Rothwell
2012-11-05 8:37 ` Uwe Kleine-König
0 siblings, 1 reply; 2+ messages in thread
From: Stephen Rothwell @ 2012-11-05 4:03 UTC (permalink / raw)
To: Al Viro
Cc: linux-next, linux-kernel, "Uwe Kleine-König",
Catalin Marinas
[-- Attachment #1: Type: text/plain, Size: 1250 bytes --]
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@canb•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;
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: linux-next: manual merge of the signal tree with the cortex tree
2012-11-05 4:03 linux-next: manual merge of the signal tree with the cortex tree Stephen Rothwell
@ 2012-11-05 8:37 ` Uwe Kleine-König
0 siblings, 0 replies; 2+ messages in thread
From: Uwe Kleine-König @ 2012-11-05 8:37 UTC (permalink / raw)
To: Stephen Rothwell; +Cc: Al Viro, linux-next, linux-kernel, Catalin Marinas
Hello Stephen,
On Mon, Nov 05, 2012 at 03:03:07PM +1100, Stephen Rothwell wrote:
> 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@canb•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;
looks good and works for me
Thanks
Uwe
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2012-11-05 8:37 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-05 4:03 linux-next: manual merge of the signal tree with the cortex tree Stephen Rothwell
2012-11-05 8:37 ` Uwe Kleine-König
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox