Subject: Re: linux-next: manual merge of the ftrace tree with the vfs-brauner tree

From: Stephen Rothwell <[email-masked]>
Date: Wed, 3 Jul 2024 03:06:52 +1000

Hi all,

On Fri, 14 Jun 2024 10:07:48 +0900 Masami Hiramatsu (Google) <[email-masked]> wrote:
>
> On Fri, 14 Jun 2024 09:05:23 +1000 Stephen Rothwell <[email-masked]> wrote:
> > 
> > On Thu, 13 Jun 2024 09:07:54 +0200 Jiri Olsa <[email-masked]> wrote:  
> > >
> > > On Thu, Jun 13, 2024 at 11:42:43AM +1000, Stephen Rothwell wrote:  
> > > > 
> > > > Today's linux-next merge of the ftrace tree got conflicts in:
> > > > 
> > > >   arch/x86/entry/syscalls/syscall_64.tbl
> > > >   include/uapi/asm-generic/unistd.h
> > > > 
> > > > between commit:
> > > > 
> > > >   e6873349f700 ("fs/xattr: add *at family syscalls")
> > > > 
> > > > from the vfs-brauner tree and commit:
> > > > 
> > > >   190fec72df4a ("uprobe: Wire up uretprobe system call")
> > > > 
> > > > from the ftrace tree.
> > > > 
> > > > I fixed it up (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/x86/entry/syscalls/syscall_64.tbl
> > > > index 26af003921d2,6452c2ec469a..000000000000
> > > > --- a/arch/x86/entry/syscalls/syscall_64.tbl
> > > > +++ b/arch/x86/entry/syscalls/syscall_64.tbl
> > > > @@@ -385,10 -384,7 +385,11 @@@
> > > >   460	common	lsm_set_self_attr	sys_lsm_set_self_attr
> > > >   461	common	lsm_list_modules	sys_lsm_list_modules
> > > >   462 	common  mseal			sys_mseal
> > > >  -463	64	uretprobe		sys_uretprobe
> > > >  +463	common	setxattrat		sys_setxattrat
> > > >  +464	common	getxattrat		sys_getxattrat
> > > >  +465	common	listxattrat		sys_listxattrat
> > > >  +466	common	removexattrat		sys_removexattrat
> > > > ++467	64	uretprobe		sys_uretprobe
> > > >   
> > > >   #
> > > >   # Due to a historical design error, certain syscalls are numbered differently
> > > > diff --cc include/uapi/asm-generic/unistd.h
> > > > index 5b8dab0b934e,2378f88d5ad4..000000000000
> > > > --- a/include/uapi/asm-generic/unistd.h
> > > > +++ b/include/uapi/asm-generic/unistd.h
> > > > @@@ -845,17 -845,11 +845,20 @@@ __SYSCALL(__NR_lsm_list_modules, sys_ls
> > > >   #define __NR_mseal 462
> > > >   __SYSCALL(__NR_mseal, sys_mseal)
> > > >   
> > > >  -#define __NR_uretprobe 463
> > > >  +#define __NR_setxattrat 463
> > > >  +__SYSCALL(__NR_setxattrat, sys_setxattrat)
> > > >  +#define __NR_getxattrat 464
> > > >  +__SYSCALL(__NR_getxattrat, sys_getxattrat)
> > > >  +#define __NR_listxattrat 465
> > > >  +__SYSCALL(__NR_listxattrat, sys_listxattrat)
> > > >  +#define __NR_removexattrat 466
> > > >  +__SYSCALL(__NR_removexattrat, sys_removexattrat)
> > > >  +
> > > > ++#define __NR_uretprobe 467
> > > > + __SYSCALL(__NR_uretprobe, sys_uretprobe)    
> > > 
> > > we need one more change in tests (below), otherwise lgtm
> > > I can send formal patch for you if needed, plz let me know
> > > 
> > > ---
> > > diff --git a/tools/testing/selftests/bpf/prog_tests/uprobe_syscall.c b/tools/testing/selftests/bpf/prog_tests/uprobe_syscall.c
> > > index c8517c8f5313..bd8c75b620c2 100644
> > > --- a/tools/testing/selftests/bpf/prog_tests/uprobe_syscall.c
> > > +++ b/tools/testing/selftests/bpf/prog_tests/uprobe_syscall.c
> > > @@ -216,7 +216,7 @@ static void test_uretprobe_regs_change(void)
> > >  }
> > >  
> > >  #ifndef __NR_uretprobe
> > > -#define __NR_uretprobe 463
> > > +#define __NR_uretprobe 467
> > >  #endif
> > >  
> > >  __naked unsigned long uretprobe_syscall_call_1(void)  
> > 
> > Or you could change __NR_uretprobe in the patch set to 467, then this
> > will become just a conflict and not a renumbering.  
> 
> OK, Jiri, can you send it to me. I will update probes/for-next.

So, is there any chance that the uretprobe syscall can change to 467 in
the ftrace tree, so we have no overlap in syscall numbers for all the
syscalls likely to be merged by Linus?

-- 
Cheers,
Stephen Rothwell