linux-next: manual merge of the tip tree with the loongarch tree

Stephen Rothwell posted 1 patch 9 months, 1 week ago
linux-next: manual merge of the tip tree with the loongarch tree
Posted by Stephen Rothwell 9 months, 1 week ago
Hi all,

Today's linux-next merge of the tip tree got a conflict in:

  arch/loongarch/kernel/entry.S

between commit:

  d62879a8b16c ("LoongArch: Enable HAVE_ARCH_STACKLEAK")

from the loongarch tree and commit:

  7ace1602abf2 ("LoongArch: entry: Migrate ret_from_fork() to C")

from the tip tree.

I fixed it up (I think - see below) and can carry the fix as
necessary. This is now fixed as far as linux-next is concerned, but any
non trivial conflicts should be mentioned to your upstream maintainer
when your tree is submitted for merging.  You may also want to consider
cooperating with the maintainer of the conflicting tree to minimise any
particularly complex conflicts.

-- 
Cheers,
Stephen Rothwell

diff --cc arch/loongarch/kernel/entry.S
index 77f6fb9146a2,2abc29e57381..000000000000
--- a/arch/loongarch/kernel/entry.S
+++ b/arch/loongarch/kernel/entry.S
@@@ -78,25 -77,21 +78,23 @@@ SYM_CODE_START(handle_syscall
  SYM_CODE_END(handle_syscall)
  _ASM_NOKPROBE(handle_syscall)
  
- SYM_CODE_START(ret_from_fork)
+ SYM_CODE_START(ret_from_fork_asm)
  	UNWIND_HINT_REGS
- 	bl		schedule_tail		# a0 = struct task_struct *prev
- 	move		a0, sp
- 	bl 		syscall_exit_to_user_mode
+ 	move		a1, sp
+ 	bl 		ret_from_fork
 +	STACKLEAK_ERASE
  	RESTORE_STATIC
  	RESTORE_SOME
  	RESTORE_SP_AND_RET
- SYM_CODE_END(ret_from_fork)
+ SYM_CODE_END(ret_from_fork_asm)
  
- SYM_CODE_START(ret_from_kernel_thread)
+ SYM_CODE_START(ret_from_kernel_thread_asm)
  	UNWIND_HINT_REGS
- 	bl		schedule_tail		# a0 = struct task_struct *prev
- 	move		a0, s1
- 	jirl		ra, s0, 0
- 	move		a0, sp
- 	bl		syscall_exit_to_user_mode
+ 	move		a1, sp
+ 	move		a2, s0
+ 	move		a3, s1
+ 	bl		ret_from_kernel_thread
 +	STACKLEAK_ERASE
  	RESTORE_STATIC
  	RESTORE_SOME
  	RESTORE_SP_AND_RET
Re: linux-next: manual merge of the tip tree with the loongarch tree
Posted by Stephen Rothwell 8 months, 2 weeks ago
Hi all,

On Mon, 5 May 2025 13:56:58 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> Today's linux-next merge of the tip tree got a conflict in:
> 
>   arch/loongarch/kernel/entry.S
> 
> between commit:
> 
>   d62879a8b16c ("LoongArch: Enable HAVE_ARCH_STACKLEAK")
> 
> from the loongarch tree and commit:
> 
>   7ace1602abf2 ("LoongArch: entry: Migrate ret_from_fork() to C")
> 
> from the tip tree.
> 
> I fixed it up (I think - see below) and can carry the fix as
> necessary. This is now fixed as far as linux-next is concerned, but any
> non trivial conflicts should be mentioned to your upstream maintainer
> when your tree is submitted for merging.  You may also want to consider
> cooperating with the maintainer of the conflicting tree to minimise any
> particularly complex conflicts.
> 
> 
> diff --cc arch/loongarch/kernel/entry.S
> index 77f6fb9146a2,2abc29e57381..000000000000
> --- a/arch/loongarch/kernel/entry.S
> +++ b/arch/loongarch/kernel/entry.S
> @@@ -78,25 -77,21 +78,23 @@@ SYM_CODE_START(handle_syscall
>   SYM_CODE_END(handle_syscall)
>   _ASM_NOKPROBE(handle_syscall)
>   
> - SYM_CODE_START(ret_from_fork)
> + SYM_CODE_START(ret_from_fork_asm)
>   	UNWIND_HINT_REGS
> - 	bl		schedule_tail		# a0 = struct task_struct *prev
> - 	move		a0, sp
> - 	bl 		syscall_exit_to_user_mode
> + 	move		a1, sp
> + 	bl 		ret_from_fork
>  +	STACKLEAK_ERASE
>   	RESTORE_STATIC
>   	RESTORE_SOME
>   	RESTORE_SP_AND_RET
> - SYM_CODE_END(ret_from_fork)
> + SYM_CODE_END(ret_from_fork_asm)
>   
> - SYM_CODE_START(ret_from_kernel_thread)
> + SYM_CODE_START(ret_from_kernel_thread_asm)
>   	UNWIND_HINT_REGS
> - 	bl		schedule_tail		# a0 = struct task_struct *prev
> - 	move		a0, s1
> - 	jirl		ra, s0, 0
> - 	move		a0, sp
> - 	bl		syscall_exit_to_user_mode
> + 	move		a1, sp
> + 	move		a2, s0
> + 	move		a3, s1
> + 	bl		ret_from_kernel_thread
>  +	STACKLEAK_ERASE
>   	RESTORE_STATIC
>   	RESTORE_SOME
>   	RESTORE_SP_AND_RET

This is now a conflict between the loongarch tree and Linus' tree.

-- 
Cheers,
Stephen Rothwell