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

From: Stephen Rothwell <[email-masked]>
Date: Mon, 5 May 2025 13:56:58 +1000

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