2023-10-09 02:06:14

by Stephen Rothwell

[permalink] [raw]
Subject: linux-next: manual merge of the block tree with the asm-generic tree

Hi all,

Today's linux-next merge of the block tree got conflicts in:

arch/alpha/kernel/syscalls/syscall.tbl
arch/arm/tools/syscall.tbl
arch/arm64/include/asm/unistd.h
arch/arm64/include/asm/unistd32.h
arch/m68k/kernel/syscalls/syscall.tbl
arch/microblaze/kernel/syscalls/syscall.tbl
arch/mips/kernel/syscalls/syscall_n32.tbl
arch/mips/kernel/syscalls/syscall_n64.tbl
arch/mips/kernel/syscalls/syscall_o32.tbl
arch/parisc/kernel/syscalls/syscall.tbl
arch/powerpc/kernel/syscalls/syscall.tbl
arch/s390/kernel/syscalls/syscall.tbl
arch/sh/kernel/syscalls/syscall.tbl
arch/sparc/kernel/syscalls/syscall.tbl
arch/x86/entry/syscalls/syscall_32.tbl
arch/xtensa/kernel/syscalls/syscall.tbl
include/uapi/asm-generic/unistd.h

between commits:

2fd0ebad27bc ("arch: Reserve map_shadow_stack() syscall number for all architectures")

from the asm-generic tree and commits:

9f6c532f59b2 ("futex: Add sys_futex_wake()")
cb8c4312afca ("futex: Add sys_futex_wait()")
0f4b5f972216 ("futex: Add sys_futex_requeue()")

from the block 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.

--
Cheers,
Stephen Rothwell

diff --cc arch/alpha/kernel/syscalls/syscall.tbl
index 5d05ab716a74,b1865f9bb31e..000000000000
--- a/arch/alpha/kernel/syscalls/syscall.tbl
+++ b/arch/alpha/kernel/syscalls/syscall.tbl
@@@ -492,4 -492,6 +492,7 @@@
560 common set_mempolicy_home_node sys_ni_syscall
561 common cachestat sys_cachestat
562 common fchmodat2 sys_fchmodat2
-563 common futex_wake sys_futex_wake
-564 common futex_wait sys_futex_wait
-565 common futex_requeue sys_futex_requeue
+563 common map_shadow_stack sys_map_shadow_stack
++564 common futex_wake sys_futex_wake
++565 common futex_wait sys_futex_wait
++566 common futex_requeue sys_futex_requeue
diff --cc arch/arm/tools/syscall.tbl
index 45ec6e1dc872,93d0d46cbb15..000000000000
--- a/arch/arm/tools/syscall.tbl
+++ b/arch/arm/tools/syscall.tbl
@@@ -466,4 -466,6 +466,7 @@@
450 common set_mempolicy_home_node sys_set_mempolicy_home_node
451 common cachestat sys_cachestat
452 common fchmodat2 sys_fchmodat2
+453 common map_shadow_stack sys_map_shadow_stack
+ 454 common futex_wake sys_futex_wake
+ 455 common futex_wait sys_futex_wait
+ 456 common futex_requeue sys_futex_requeue
diff --cc arch/arm64/include/asm/unistd.h
index 6a28fb91b85d,531effca5f1f..000000000000
--- a/arch/arm64/include/asm/unistd.h
+++ b/arch/arm64/include/asm/unistd.h
diff --cc arch/arm64/include/asm/unistd32.h
index 0774d9cbe563,c453291154fd..000000000000
--- a/arch/arm64/include/asm/unistd32.h
+++ b/arch/arm64/include/asm/unistd32.h
@@@ -911,8 -911,12 +911,14 @@@ __SYSCALL(__NR_set_mempolicy_home_node
__SYSCALL(__NR_cachestat, sys_cachestat)
#define __NR_fchmodat2 452
__SYSCALL(__NR_fchmodat2, sys_fchmodat2)
+#define __NR_map_shadow_stack 453
+__SYSCALL(__NR_map_shadow_stack, sys_map_shadow_stack)
+ #define __NR_futex_wake 454
+ __SYSCALL(__NR_futex_wake, sys_futex_wake)
+ #define __NR_futex_wait 455
+ __SYSCALL(__NR_futex_wait, sys_futex_wait)
+ #define __NR_futex_requeue 456
+ __SYSCALL(__NR_futex_requeue, sys_futex_requeue)

/*
* Please add new compat syscalls above this comment and update
diff --cc arch/m68k/kernel/syscalls/syscall.tbl
index 12d0ce43b094,f7f997a88bab..000000000000
--- a/arch/m68k/kernel/syscalls/syscall.tbl
+++ b/arch/m68k/kernel/syscalls/syscall.tbl
@@@ -452,4 -452,6 +452,7 @@@
450 common set_mempolicy_home_node sys_set_mempolicy_home_node
451 common cachestat sys_cachestat
452 common fchmodat2 sys_fchmodat2
+453 common map_shadow_stack sys_map_shadow_stack
+ 454 common futex_wake sys_futex_wake
+ 455 common futex_wait sys_futex_wait
+ 456 common futex_requeue sys_futex_requeue
diff --cc arch/microblaze/kernel/syscalls/syscall.tbl
index de8219c4300c,2967ec26b978..000000000000
--- a/arch/microblaze/kernel/syscalls/syscall.tbl
+++ b/arch/microblaze/kernel/syscalls/syscall.tbl
@@@ -458,4 -458,6 +458,7 @@@
450 common set_mempolicy_home_node sys_set_mempolicy_home_node
451 common cachestat sys_cachestat
452 common fchmodat2 sys_fchmodat2
+453 common map_shadow_stack sys_map_shadow_stack
+ 454 common futex_wake sys_futex_wake
+ 455 common futex_wait sys_futex_wait
+ 456 common futex_requeue sys_futex_requeue
diff --cc arch/mips/kernel/syscalls/syscall_n32.tbl
index a5096a064fb4,383abb1713f4..000000000000
--- a/arch/mips/kernel/syscalls/syscall_n32.tbl
+++ b/arch/mips/kernel/syscalls/syscall_n32.tbl
@@@ -391,4 -391,6 +391,7 @@@
450 n32 set_mempolicy_home_node sys_set_mempolicy_home_node
451 n32 cachestat sys_cachestat
452 n32 fchmodat2 sys_fchmodat2
+453 n32 map_shadow_stack sys_map_shadow_stack
+ 454 n32 futex_wake sys_futex_wake
+ 455 n32 futex_wait sys_futex_wait
+ 456 n32 futex_requeue sys_futex_requeue
diff --cc arch/mips/kernel/syscalls/syscall_n64.tbl
index 0044031d9c70,c9bd09ba905f..000000000000
--- a/arch/mips/kernel/syscalls/syscall_n64.tbl
+++ b/arch/mips/kernel/syscalls/syscall_n64.tbl
@@@ -367,4 -367,6 +367,7 @@@
450 common set_mempolicy_home_node sys_set_mempolicy_home_node
451 n64 cachestat sys_cachestat
452 n64 fchmodat2 sys_fchmodat2
+453 n64 map_shadow_stack sys_map_shadow_stack
+ 454 n64 futex_wake sys_futex_wake
+ 455 n64 futex_wait sys_futex_wait
+ 456 n64 futex_requeue sys_futex_requeue
diff --cc arch/mips/kernel/syscalls/syscall_o32.tbl
index cf44a6ac38fa,ba5ef6cea97a..000000000000
--- a/arch/mips/kernel/syscalls/syscall_o32.tbl
+++ b/arch/mips/kernel/syscalls/syscall_o32.tbl
@@@ -440,4 -440,6 +440,7 @@@
450 o32 set_mempolicy_home_node sys_set_mempolicy_home_node
451 o32 cachestat sys_cachestat
452 o32 fchmodat2 sys_fchmodat2
+453 o32 map_shadow_stack sys_map_shadow_stack
+ 454 o32 futex_wake sys_futex_wake
+ 455 o32 futex_wait sys_futex_wait
+ 456 o32 futex_requeue sys_futex_requeue
diff --cc arch/parisc/kernel/syscalls/syscall.tbl
index 4048ed480a04,9f0f6df55361..000000000000
--- a/arch/parisc/kernel/syscalls/syscall.tbl
+++ b/arch/parisc/kernel/syscalls/syscall.tbl
@@@ -451,4 -451,6 +451,7 @@@
450 common set_mempolicy_home_node sys_set_mempolicy_home_node
451 common cachestat sys_cachestat
452 common fchmodat2 sys_fchmodat2
+453 common map_shadow_stack sys_map_shadow_stack
+ 454 common futex_wake sys_futex_wake
+ 455 common futex_wait sys_futex_wait
+ 456 common futex_requeue sys_futex_requeue
diff --cc arch/powerpc/kernel/syscalls/syscall.tbl
index d845e14c38f3,26fc41904266..000000000000
--- a/arch/powerpc/kernel/syscalls/syscall.tbl
+++ b/arch/powerpc/kernel/syscalls/syscall.tbl
@@@ -539,4 -539,6 +539,7 @@@
450 nospu set_mempolicy_home_node sys_set_mempolicy_home_node
451 common cachestat sys_cachestat
452 common fchmodat2 sys_fchmodat2
+453 common map_shadow_stack sys_ni_syscall
+ 454 common futex_wake sys_futex_wake
+ 455 common futex_wait sys_futex_wait
+ 456 common futex_requeue sys_futex_requeue
diff --cc arch/s390/kernel/syscalls/syscall.tbl
index 416645f1c1fb,31be90b241f7..000000000000
--- a/arch/s390/kernel/syscalls/syscall.tbl
+++ b/arch/s390/kernel/syscalls/syscall.tbl
@@@ -455,4 -455,6 +455,7 @@@
450 common set_mempolicy_home_node sys_set_mempolicy_home_node sys_set_mempolicy_home_node
451 common cachestat sys_cachestat sys_cachestat
452 common fchmodat2 sys_fchmodat2 sys_fchmodat2
+453 common map_shadow_stack sys_map_shadow_stack sys_map_shadow_stack
+ 454 common futex_wake sys_futex_wake sys_futex_wake
+ 455 common futex_wait sys_futex_wait sys_futex_wait
+ 456 common futex_requeue sys_futex_requeue sys_futex_requeue
diff --cc arch/sh/kernel/syscalls/syscall.tbl
index bf36587b87b5,4bc5d488ab17..000000000000
--- a/arch/sh/kernel/syscalls/syscall.tbl
+++ b/arch/sh/kernel/syscalls/syscall.tbl
@@@ -455,4 -455,6 +455,7 @@@
450 common set_mempolicy_home_node sys_set_mempolicy_home_node
451 common cachestat sys_cachestat
452 common fchmodat2 sys_fchmodat2
+453 common map_shadow_stack sys_map_shadow_stack
+ 454 common futex_wake sys_futex_wake
+ 455 common futex_wait sys_futex_wait
+ 456 common futex_requeue sys_futex_requeue
diff --cc arch/sparc/kernel/syscalls/syscall.tbl
index f45f8c5ed076,8404c8e50394..000000000000
--- a/arch/sparc/kernel/syscalls/syscall.tbl
+++ b/arch/sparc/kernel/syscalls/syscall.tbl
@@@ -498,4 -498,6 +498,7 @@@
450 common set_mempolicy_home_node sys_set_mempolicy_home_node
451 common cachestat sys_cachestat
452 common fchmodat2 sys_fchmodat2
+453 common map_shadow_stack sys_map_shadow_stack
+ 454 common futex_wake sys_futex_wake
+ 455 common futex_wait sys_futex_wait
+ 456 common futex_requeue sys_futex_requeue
diff --cc arch/x86/entry/syscalls/syscall_32.tbl
index 54748f6d7c45,31c48bc2c3d8..000000000000
--- a/arch/x86/entry/syscalls/syscall_32.tbl
+++ b/arch/x86/entry/syscalls/syscall_32.tbl
@@@ -457,4 -457,6 +457,7 @@@
450 i386 set_mempolicy_home_node sys_set_mempolicy_home_node
451 i386 cachestat sys_cachestat
452 i386 fchmodat2 sys_fchmodat2
+453 i386 map_shadow_stack sys_map_shadow_stack
+ 454 i386 futex_wake sys_futex_wake
+ 455 i386 futex_wait sys_futex_wait
+ 456 i386 futex_requeue sys_futex_requeue
diff --cc arch/xtensa/kernel/syscalls/syscall.tbl
index 10a7eecbedf0,dd71ecce8b86..000000000000
--- a/arch/xtensa/kernel/syscalls/syscall.tbl
+++ b/arch/xtensa/kernel/syscalls/syscall.tbl
@@@ -423,4 -423,6 +423,7 @@@
450 common set_mempolicy_home_node sys_set_mempolicy_home_node
451 common cachestat sys_cachestat
452 common fchmodat2 sys_fchmodat2
+453 common map_shadow_stack sys_map_shadow_stack
+ 454 common futex_wake sys_futex_wake
+ 455 common futex_wait sys_futex_wait
+ 456 common futex_requeue sys_futex_requeue
diff --cc include/uapi/asm-generic/unistd.h
index 00df5af71ca1,d9e9cd13e577..000000000000
--- a/include/uapi/asm-generic/unistd.h
+++ b/include/uapi/asm-generic/unistd.h
@@@ -822,12 -822,15 +822,18 @@@ __SYSCALL(__NR_cachestat, sys_cachestat

#define __NR_fchmodat2 452
__SYSCALL(__NR_fchmodat2, sys_fchmodat2)
+ #define __NR_futex_wake 454
+ __SYSCALL(__NR_futex_wake, sys_futex_wake)
+ #define __NR_futex_wait 455
+ __SYSCALL(__NR_futex_wait, sys_futex_wait)
+ #define __NR_futex_requeue 456
+ __SYSCALL(__NR_futex_requeue, sys_futex_requeue)

+#define __NR_map_shadow_stack 453
+__SYSCALL(__NR_map_shadow_stack, sys_map_shadow_stack)
+
#undef __NR_syscalls
- #define __NR_syscalls 454
+ #define __NR_syscalls 457

/*
* 32 bit systems traditionally used different


Attachments:
(No filename) (499.00 B)
OpenPGP digital signature

2023-10-09 08:48:34

by Peter Zijlstra

[permalink] [raw]
Subject: Re: linux-next: manual merge of the block tree with the asm-generic tree

On Mon, Oct 09, 2023 at 12:31:18PM +1100, Stephen Rothwell wrote:
> Hi all,
>
> Today's linux-next merge of the block tree got conflicts in:
>
> arch/alpha/kernel/syscalls/syscall.tbl
> arch/arm/tools/syscall.tbl
> arch/arm64/include/asm/unistd.h
> arch/arm64/include/asm/unistd32.h
> arch/m68k/kernel/syscalls/syscall.tbl
> arch/microblaze/kernel/syscalls/syscall.tbl
> arch/mips/kernel/syscalls/syscall_n32.tbl
> arch/mips/kernel/syscalls/syscall_n64.tbl
> arch/mips/kernel/syscalls/syscall_o32.tbl
> arch/parisc/kernel/syscalls/syscall.tbl
> arch/powerpc/kernel/syscalls/syscall.tbl
> arch/s390/kernel/syscalls/syscall.tbl
> arch/sh/kernel/syscalls/syscall.tbl
> arch/sparc/kernel/syscalls/syscall.tbl
> arch/x86/entry/syscalls/syscall_32.tbl
> arch/xtensa/kernel/syscalls/syscall.tbl
> include/uapi/asm-generic/unistd.h
>
> between commits:
>
> 2fd0ebad27bc ("arch: Reserve map_shadow_stack() syscall number for all architectures")
>
> from the asm-generic tree and commits:
>
> 9f6c532f59b2 ("futex: Add sys_futex_wake()")
> cb8c4312afca ("futex: Add sys_futex_wait()")
> 0f4b5f972216 ("futex: Add sys_futex_requeue()")
>
> from the block tree.

fun fun fun..


> diff --cc arch/alpha/kernel/syscalls/syscall.tbl
> index 5d05ab716a74,b1865f9bb31e..000000000000
> --- a/arch/alpha/kernel/syscalls/syscall.tbl
> +++ b/arch/alpha/kernel/syscalls/syscall.tbl
> @@@ -492,4 -492,6 +492,7 @@@
> 560 common set_mempolicy_home_node sys_ni_syscall
> 561 common cachestat sys_cachestat
> 562 common fchmodat2 sys_fchmodat2
> -563 common futex_wake sys_futex_wake
> -564 common futex_wait sys_futex_wait
> -565 common futex_requeue sys_futex_requeue
> +563 common map_shadow_stack sys_map_shadow_stack
> ++564 common futex_wake sys_futex_wake
> ++565 common futex_wait sys_futex_wait
> ++566 common futex_requeue sys_futex_requeue

So this renumbers the (futex) stuff on Alpha, does anybody care? AFAICT
Alpha does not follow the unistd order and meh.

> diff --cc include/uapi/asm-generic/unistd.h
> index 00df5af71ca1,d9e9cd13e577..000000000000
> --- a/include/uapi/asm-generic/unistd.h
> +++ b/include/uapi/asm-generic/unistd.h
> @@@ -822,12 -822,15 +822,18 @@@ __SYSCALL(__NR_cachestat, sys_cachestat
>
> #define __NR_fchmodat2 452
> __SYSCALL(__NR_fchmodat2, sys_fchmodat2)
> + #define __NR_futex_wake 454
> + __SYSCALL(__NR_futex_wake, sys_futex_wake)
> + #define __NR_futex_wait 455
> + __SYSCALL(__NR_futex_wait, sys_futex_wait)
> + #define __NR_futex_requeue 456
> + __SYSCALL(__NR_futex_requeue, sys_futex_requeue)
>
> +#define __NR_map_shadow_stack 453
> +__SYSCALL(__NR_map_shadow_stack, sys_map_shadow_stack)
> +
> #undef __NR_syscalls
> - #define __NR_syscalls 454
> + #define __NR_syscalls 457
>
> /*
> * 32 bit systems traditionally used different

This seems to have the hunks in the wrong order, 453 should come before
454 no?

2023-10-09 09:02:04

by Arnd Bergmann

[permalink] [raw]
Subject: Re: linux-next: manual merge of the block tree with the asm-generic tree

On Mon, Oct 9, 2023, at 10:48, Peter Zijlstra wrote:
> On Mon, Oct 09, 2023 at 12:31:18PM +1100, Stephen Rothwell wrote:
>> diff --cc arch/alpha/kernel/syscalls/syscall.tbl
>> index 5d05ab716a74,b1865f9bb31e..000000000000
>> --- a/arch/alpha/kernel/syscalls/syscall.tbl
>> +++ b/arch/alpha/kernel/syscalls/syscall.tbl
>> @@@ -492,4 -492,6 +492,7 @@@
>> 560 common set_mempolicy_home_node sys_ni_syscall
>> 561 common cachestat sys_cachestat
>> 562 common fchmodat2 sys_fchmodat2
>> -563 common futex_wake sys_futex_wake
>> -564 common futex_wait sys_futex_wait
>> -565 common futex_requeue sys_futex_requeue
>> +563 common map_shadow_stack sys_map_shadow_stack
>> ++564 common futex_wake sys_futex_wake
>> ++565 common futex_wait sys_futex_wait
>> ++566 common futex_requeue sys_futex_requeue
>
> So this renumbers the (futex) stuff on Alpha, does anybody care? AFAICT
> Alpha does not follow the unistd order and meh.

Let's not make it worse for now. All the numbers since the
introduction of the time64 syscalls are offset by exactly 120
on alpha, and I'd prefer to keep it that way for the moment.

I still hope to eventually finish the conversion of all architectures
to a single syscall.tbl for numbers >400, and if that happens before
the end of alpha, a different ordering would just be extra pain.

Arnd

2023-10-09 09:39:34

by Stephen Rothwell

[permalink] [raw]
Subject: Re: linux-next: manual merge of the block tree with the asm-generic tree

Hi Peter,

On Mon, 9 Oct 2023 10:48:12 +0200 Peter Zijlstra <[email protected]> wrote:
>
> > #define __NR_fchmodat2 452
> > __SYSCALL(__NR_fchmodat2, sys_fchmodat2)
> > + #define __NR_futex_wake 454
> > + __SYSCALL(__NR_futex_wake, sys_futex_wake)
> > + #define __NR_futex_wait 455
> > + __SYSCALL(__NR_futex_wait, sys_futex_wait)
> > + #define __NR_futex_requeue 456
> > + __SYSCALL(__NR_futex_requeue, sys_futex_requeue)
> >
> > +#define __NR_map_shadow_stack 453
> > +__SYSCALL(__NR_map_shadow_stack, sys_map_shadow_stack)
> > +
> > #undef __NR_syscalls
> > - #define __NR_syscalls 454
> > + #define __NR_syscalls 457
> >
> > /*
> > * 32 bit systems traditionally used different
>
> This seems to have the hunks in the wrong order, 453 should come before
> 454 no?

Oops, fixed thanks.

--
Cheers,
Stephen Rothwell


Attachments:
(No filename) (499.00 B)
OpenPGP digital signature

2023-10-09 14:14:38

by Peter Zijlstra

[permalink] [raw]
Subject: Re: linux-next: manual merge of the block tree with the asm-generic tree

On Mon, Oct 09, 2023 at 11:00:19AM +0200, Arnd Bergmann wrote:
> On Mon, Oct 9, 2023, at 10:48, Peter Zijlstra wrote:
> > On Mon, Oct 09, 2023 at 12:31:18PM +1100, Stephen Rothwell wrote:
> >> diff --cc arch/alpha/kernel/syscalls/syscall.tbl
> >> index 5d05ab716a74,b1865f9bb31e..000000000000
> >> --- a/arch/alpha/kernel/syscalls/syscall.tbl
> >> +++ b/arch/alpha/kernel/syscalls/syscall.tbl
> >> @@@ -492,4 -492,6 +492,7 @@@
> >> 560 common set_mempolicy_home_node sys_ni_syscall
> >> 561 common cachestat sys_cachestat
> >> 562 common fchmodat2 sys_fchmodat2
> >> -563 common futex_wake sys_futex_wake
> >> -564 common futex_wait sys_futex_wait
> >> -565 common futex_requeue sys_futex_requeue
> >> +563 common map_shadow_stack sys_map_shadow_stack
> >> ++564 common futex_wake sys_futex_wake
> >> ++565 common futex_wait sys_futex_wait
> >> ++566 common futex_requeue sys_futex_requeue
> >
> > So this renumbers the (futex) stuff on Alpha, does anybody care? AFAICT
> > Alpha does not follow the unistd order and meh.
>
> Let's not make it worse for now. All the numbers since the
> introduction of the time64 syscalls are offset by exactly 120
> on alpha, and I'd prefer to keep it that way for the moment.
>
> I still hope to eventually finish the conversion of all architectures
> to a single syscall.tbl for numbers >400, and if that happens before
> the end of alpha, a different ordering would just be extra pain.

Fair enough; should we look at rebase those futex patches for this? (bit
of a pain as that would also mean rebasing block)

Or do we want to keep this fixup in the merge resolution and make sure
Linus is aware?

2023-10-09 14:16:49

by Jens Axboe

[permalink] [raw]
Subject: Re: linux-next: manual merge of the block tree with the asm-generic tree

On 10/9/23 8:13 AM, Peter Zijlstra wrote:
> On Mon, Oct 09, 2023 at 11:00:19AM +0200, Arnd Bergmann wrote:
>> On Mon, Oct 9, 2023, at 10:48, Peter Zijlstra wrote:
>>> On Mon, Oct 09, 2023 at 12:31:18PM +1100, Stephen Rothwell wrote:
>>>> diff --cc arch/alpha/kernel/syscalls/syscall.tbl
>>>> index 5d05ab716a74,b1865f9bb31e..000000000000
>>>> --- a/arch/alpha/kernel/syscalls/syscall.tbl
>>>> +++ b/arch/alpha/kernel/syscalls/syscall.tbl
>>>> @@@ -492,4 -492,6 +492,7 @@@
>>>> 560 common set_mempolicy_home_node sys_ni_syscall
>>>> 561 common cachestat sys_cachestat
>>>> 562 common fchmodat2 sys_fchmodat2
>>>> -563 common futex_wake sys_futex_wake
>>>> -564 common futex_wait sys_futex_wait
>>>> -565 common futex_requeue sys_futex_requeue
>>>> +563 common map_shadow_stack sys_map_shadow_stack
>>>> ++564 common futex_wake sys_futex_wake
>>>> ++565 common futex_wait sys_futex_wait
>>>> ++566 common futex_requeue sys_futex_requeue
>>>
>>> So this renumbers the (futex) stuff on Alpha, does anybody care? AFAICT
>>> Alpha does not follow the unistd order and meh.
>>
>> Let's not make it worse for now. All the numbers since the
>> introduction of the time64 syscalls are offset by exactly 120
>> on alpha, and I'd prefer to keep it that way for the moment.
>>
>> I still hope to eventually finish the conversion of all architectures
>> to a single syscall.tbl for numbers >400, and if that happens before
>> the end of alpha, a different ordering would just be extra pain.
>
> Fair enough; should we look at rebase those futex patches for this? (bit
> of a pain as that would also mean rebasing block)

From my point of view, this isn't a huge problem if we do it now. The
io_uring-futex branch is a separate branch and I have nothing on top of
it, so I could easily just re-pull your updated branch and rebase my
changes on top.

> Or do we want to keep this fixup in the merge resolution and make sure
> Linus is aware?

If you're OK with it, I'd say let's rebase and save ourselves the
trouble at merge time.

--
Jens Axboe

2023-10-09 14:24:26

by Arnd Bergmann

[permalink] [raw]
Subject: Re: linux-next: manual merge of the block tree with the asm-generic tree

On Mon, Oct 9, 2023, at 16:16, Jens Axboe wrote:
> On 10/9/23 8:13 AM, Peter Zijlstra wrote:
>> On Mon, Oct 09, 2023 at 11:00:19AM +0200, Arnd Bergmann wrote:
>>>
>>> Let's not make it worse for now. All the numbers since the
>>> introduction of the time64 syscalls are offset by exactly 120
>>> on alpha, and I'd prefer to keep it that way for the moment.
>>>
>>> I still hope to eventually finish the conversion of all architectures
>>> to a single syscall.tbl for numbers >400, and if that happens before
>>> the end of alpha, a different ordering would just be extra pain.
>>
>> Fair enough; should we look at rebase those futex patches for this? (bit
>> of a pain as that would also mean rebasing block)
>
> From my point of view, this isn't a huge problem if we do it now. The
> io_uring-futex branch is a separate branch and I have nothing on top of
> it, so I could easily just re-pull your updated branch and rebase my
> changes on top.
>
>> Or do we want to keep this fixup in the merge resolution and make sure
>> Linus is aware?
>
> If you're OK with it, I'd say let's rebase and save ourselves the
> trouble at merge time.

Sounds good, thanks.

If it's any help, I can also merge the patches that wire up the
syscalls through the asm-generic tree to avoid the conflicts
altogether.

Arnd

2023-10-11 16:21:24

by Jens Axboe

[permalink] [raw]
Subject: Re: linux-next: manual merge of the block tree with the asm-generic tree

On 10/9/23 8:16 AM, Jens Axboe wrote:
> On 10/9/23 8:13 AM, Peter Zijlstra wrote:
>> On Mon, Oct 09, 2023 at 11:00:19AM +0200, Arnd Bergmann wrote:
>>> On Mon, Oct 9, 2023, at 10:48, Peter Zijlstra wrote:
>>>> On Mon, Oct 09, 2023 at 12:31:18PM +1100, Stephen Rothwell wrote:
>>>>> diff --cc arch/alpha/kernel/syscalls/syscall.tbl
>>>>> index 5d05ab716a74,b1865f9bb31e..000000000000
>>>>> --- a/arch/alpha/kernel/syscalls/syscall.tbl
>>>>> +++ b/arch/alpha/kernel/syscalls/syscall.tbl
>>>>> @@@ -492,4 -492,6 +492,7 @@@
>>>>> 560 common set_mempolicy_home_node sys_ni_syscall
>>>>> 561 common cachestat sys_cachestat
>>>>> 562 common fchmodat2 sys_fchmodat2
>>>>> -563 common futex_wake sys_futex_wake
>>>>> -564 common futex_wait sys_futex_wait
>>>>> -565 common futex_requeue sys_futex_requeue
>>>>> +563 common map_shadow_stack sys_map_shadow_stack
>>>>> ++564 common futex_wake sys_futex_wake
>>>>> ++565 common futex_wait sys_futex_wait
>>>>> ++566 common futex_requeue sys_futex_requeue
>>>>
>>>> So this renumbers the (futex) stuff on Alpha, does anybody care? AFAICT
>>>> Alpha does not follow the unistd order and meh.
>>>
>>> Let's not make it worse for now. All the numbers since the
>>> introduction of the time64 syscalls are offset by exactly 120
>>> on alpha, and I'd prefer to keep it that way for the moment.
>>>
>>> I still hope to eventually finish the conversion of all architectures
>>> to a single syscall.tbl for numbers >400, and if that happens before
>>> the end of alpha, a different ordering would just be extra pain.
>>
>> Fair enough; should we look at rebase those futex patches for this? (bit
>> of a pain as that would also mean rebasing block)
>
> From my point of view, this isn't a huge problem if we do it now. The
> io_uring-futex branch is a separate branch and I have nothing on top of
> it, so I could easily just re-pull your updated branch and rebase my
> changes on top.
>
>> Or do we want to keep this fixup in the merge resolution and make sure
>> Linus is aware?
>
> If you're OK with it, I'd say let's rebase and save ourselves the
> trouble at merge time.

Peter, what's the verdict - do you want to rebase it, or leave it as-is?

--
Jens Axboe

2023-10-11 17:54:46

by Peter Zijlstra

[permalink] [raw]
Subject: Re: linux-next: manual merge of the block tree with the asm-generic tree

On Wed, Oct 11, 2023 at 10:21:06AM -0600, Jens Axboe wrote:
> On 10/9/23 8:16 AM, Jens Axboe wrote:
> > On 10/9/23 8:13 AM, Peter Zijlstra wrote:
> >> On Mon, Oct 09, 2023 at 11:00:19AM +0200, Arnd Bergmann wrote:
> >>> On Mon, Oct 9, 2023, at 10:48, Peter Zijlstra wrote:
> >>>> On Mon, Oct 09, 2023 at 12:31:18PM +1100, Stephen Rothwell wrote:
> >>>>> diff --cc arch/alpha/kernel/syscalls/syscall.tbl
> >>>>> index 5d05ab716a74,b1865f9bb31e..000000000000
> >>>>> --- a/arch/alpha/kernel/syscalls/syscall.tbl
> >>>>> +++ b/arch/alpha/kernel/syscalls/syscall.tbl
> >>>>> @@@ -492,4 -492,6 +492,7 @@@
> >>>>> 560 common set_mempolicy_home_node sys_ni_syscall
> >>>>> 561 common cachestat sys_cachestat
> >>>>> 562 common fchmodat2 sys_fchmodat2
> >>>>> -563 common futex_wake sys_futex_wake
> >>>>> -564 common futex_wait sys_futex_wait
> >>>>> -565 common futex_requeue sys_futex_requeue
> >>>>> +563 common map_shadow_stack sys_map_shadow_stack
> >>>>> ++564 common futex_wake sys_futex_wake
> >>>>> ++565 common futex_wait sys_futex_wait
> >>>>> ++566 common futex_requeue sys_futex_requeue
> >>>>
> >>>> So this renumbers the (futex) stuff on Alpha, does anybody care? AFAICT
> >>>> Alpha does not follow the unistd order and meh.
> >>>
> >>> Let's not make it worse for now. All the numbers since the
> >>> introduction of the time64 syscalls are offset by exactly 120
> >>> on alpha, and I'd prefer to keep it that way for the moment.
> >>>
> >>> I still hope to eventually finish the conversion of all architectures
> >>> to a single syscall.tbl for numbers >400, and if that happens before
> >>> the end of alpha, a different ordering would just be extra pain.
> >>
> >> Fair enough; should we look at rebase those futex patches for this? (bit
> >> of a pain as that would also mean rebasing block)
> >
> > From my point of view, this isn't a huge problem if we do it now. The
> > io_uring-futex branch is a separate branch and I have nothing on top of
> > it, so I could easily just re-pull your updated branch and rebase my
> > changes on top.
> >
> >> Or do we want to keep this fixup in the merge resolution and make sure
> >> Linus is aware?
> >
> > If you're OK with it, I'd say let's rebase and save ourselves the
> > trouble at merge time.
>
> Peter, what's the verdict - do you want to rebase it, or leave it as-is?

Ah, I looked into doing this, but tip/locking/core has since grown a
bunch of patches and has a merge commit -- I talked to Ingo yesterday
and he proposed just queueing a fix on top instead of doing a full
rebase.

Ingo, that still your preferred solution?

2023-10-11 21:33:19

by Ingo Molnar

[permalink] [raw]
Subject: Re: linux-next: manual merge of the block tree with the asm-generic tree


* Peter Zijlstra <[email protected]> wrote:

> On Wed, Oct 11, 2023 at 10:21:06AM -0600, Jens Axboe wrote:
> > On 10/9/23 8:16 AM, Jens Axboe wrote:
> > > On 10/9/23 8:13 AM, Peter Zijlstra wrote:
> > >> On Mon, Oct 09, 2023 at 11:00:19AM +0200, Arnd Bergmann wrote:
> > >>> On Mon, Oct 9, 2023, at 10:48, Peter Zijlstra wrote:
> > >>>> On Mon, Oct 09, 2023 at 12:31:18PM +1100, Stephen Rothwell wrote:
> > >>>>> diff --cc arch/alpha/kernel/syscalls/syscall.tbl
> > >>>>> index 5d05ab716a74,b1865f9bb31e..000000000000
> > >>>>> --- a/arch/alpha/kernel/syscalls/syscall.tbl
> > >>>>> +++ b/arch/alpha/kernel/syscalls/syscall.tbl
> > >>>>> @@@ -492,4 -492,6 +492,7 @@@
> > >>>>> 560 common set_mempolicy_home_node sys_ni_syscall
> > >>>>> 561 common cachestat sys_cachestat
> > >>>>> 562 common fchmodat2 sys_fchmodat2
> > >>>>> -563 common futex_wake sys_futex_wake
> > >>>>> -564 common futex_wait sys_futex_wait
> > >>>>> -565 common futex_requeue sys_futex_requeue
> > >>>>> +563 common map_shadow_stack sys_map_shadow_stack
> > >>>>> ++564 common futex_wake sys_futex_wake
> > >>>>> ++565 common futex_wait sys_futex_wait
> > >>>>> ++566 common futex_requeue sys_futex_requeue
> > >>>>
> > >>>> So this renumbers the (futex) stuff on Alpha, does anybody care? AFAICT
> > >>>> Alpha does not follow the unistd order and meh.
> > >>>
> > >>> Let's not make it worse for now. All the numbers since the
> > >>> introduction of the time64 syscalls are offset by exactly 120
> > >>> on alpha, and I'd prefer to keep it that way for the moment.
> > >>>
> > >>> I still hope to eventually finish the conversion of all architectures
> > >>> to a single syscall.tbl for numbers >400, and if that happens before
> > >>> the end of alpha, a different ordering would just be extra pain.
> > >>
> > >> Fair enough; should we look at rebase those futex patches for this? (bit
> > >> of a pain as that would also mean rebasing block)
> > >
> > > From my point of view, this isn't a huge problem if we do it now. The
> > > io_uring-futex branch is a separate branch and I have nothing on top of
> > > it, so I could easily just re-pull your updated branch and rebase my
> > > changes on top.
> > >
> > >> Or do we want to keep this fixup in the merge resolution and make sure
> > >> Linus is aware?
> > >
> > > If you're OK with it, I'd say let's rebase and save ourselves the
> > > trouble at merge time.
> >
> > Peter, what's the verdict - do you want to rebase it, or leave it as-is?
>
> Ah, I looked into doing this, but tip/locking/core has since grown a
> bunch of patches and has a merge commit -- I talked to Ingo yesterday
> and he proposed just queueing a fix on top instead of doing a full
> rebase.
>
> Ingo, that still your preferred solution?

Yeah, that would be the best solution IMO - it's not like there's any real
prospect of someone bisecting futex2 patch-enablement commits on Alpha ...
and the bisection distance isn't particularly large either in any case.

[ This would also document the very real historic conflict between these
numbers, as it happened. ]

Thanks,

Ingo

2023-10-11 21:43:07

by Jens Axboe

[permalink] [raw]
Subject: Re: linux-next: manual merge of the block tree with the asm-generic tree

On 10/11/23 3:32 PM, Ingo Molnar wrote:
>
> * Peter Zijlstra <[email protected]> wrote:
>
>> On Wed, Oct 11, 2023 at 10:21:06AM -0600, Jens Axboe wrote:
>>> On 10/9/23 8:16 AM, Jens Axboe wrote:
>>>> On 10/9/23 8:13 AM, Peter Zijlstra wrote:
>>>>> On Mon, Oct 09, 2023 at 11:00:19AM +0200, Arnd Bergmann wrote:
>>>>>> On Mon, Oct 9, 2023, at 10:48, Peter Zijlstra wrote:
>>>>>>> On Mon, Oct 09, 2023 at 12:31:18PM +1100, Stephen Rothwell wrote:
>>>>>>>> diff --cc arch/alpha/kernel/syscalls/syscall.tbl
>>>>>>>> index 5d05ab716a74,b1865f9bb31e..000000000000
>>>>>>>> --- a/arch/alpha/kernel/syscalls/syscall.tbl
>>>>>>>> +++ b/arch/alpha/kernel/syscalls/syscall.tbl
>>>>>>>> @@@ -492,4 -492,6 +492,7 @@@
>>>>>>>> 560 common set_mempolicy_home_node sys_ni_syscall
>>>>>>>> 561 common cachestat sys_cachestat
>>>>>>>> 562 common fchmodat2 sys_fchmodat2
>>>>>>>> -563 common futex_wake sys_futex_wake
>>>>>>>> -564 common futex_wait sys_futex_wait
>>>>>>>> -565 common futex_requeue sys_futex_requeue
>>>>>>>> +563 common map_shadow_stack sys_map_shadow_stack
>>>>>>>> ++564 common futex_wake sys_futex_wake
>>>>>>>> ++565 common futex_wait sys_futex_wait
>>>>>>>> ++566 common futex_requeue sys_futex_requeue
>>>>>>>
>>>>>>> So this renumbers the (futex) stuff on Alpha, does anybody care? AFAICT
>>>>>>> Alpha does not follow the unistd order and meh.
>>>>>>
>>>>>> Let's not make it worse for now. All the numbers since the
>>>>>> introduction of the time64 syscalls are offset by exactly 120
>>>>>> on alpha, and I'd prefer to keep it that way for the moment.
>>>>>>
>>>>>> I still hope to eventually finish the conversion of all architectures
>>>>>> to a single syscall.tbl for numbers >400, and if that happens before
>>>>>> the end of alpha, a different ordering would just be extra pain.
>>>>>
>>>>> Fair enough; should we look at rebase those futex patches for this? (bit
>>>>> of a pain as that would also mean rebasing block)
>>>>
>>>> From my point of view, this isn't a huge problem if we do it now. The
>>>> io_uring-futex branch is a separate branch and I have nothing on top of
>>>> it, so I could easily just re-pull your updated branch and rebase my
>>>> changes on top.
>>>>
>>>>> Or do we want to keep this fixup in the merge resolution and make sure
>>>>> Linus is aware?
>>>>
>>>> If you're OK with it, I'd say let's rebase and save ourselves the
>>>> trouble at merge time.
>>>
>>> Peter, what's the verdict - do you want to rebase it, or leave it as-is?
>>
>> Ah, I looked into doing this, but tip/locking/core has since grown a
>> bunch of patches and has a merge commit -- I talked to Ingo yesterday
>> and he proposed just queueing a fix on top instead of doing a full
>> rebase.
>>
>> Ingo, that still your preferred solution?
>
> Yeah, that would be the best solution IMO - it's not like there's any real
> prospect of someone bisecting futex2 patch-enablement commits on Alpha ...
> and the bisection distance isn't particularly large either in any case.

OK, works for me. I'll keep my branch as-is, and just ensure it gets
sent out after locking/core has been pulled by Linus.

--
Jens Axboe

2023-10-11 22:01:37

by Ingo Molnar

[permalink] [raw]
Subject: Re: linux-next: manual merge of the block tree with the asm-generic tree


* Jens Axboe <[email protected]> wrote:

> >>> Peter, what's the verdict - do you want to rebase it, or leave it
> >>> as-is?
> >>
> >> Ah, I looked into doing this, but tip/locking/core has since grown a
> >> bunch of patches and has a merge commit -- I talked to Ingo yesterday
> >> and he proposed just queueing a fix on top instead of doing a full
> >> rebase.
> >>
> >> Ingo, that still your preferred solution?
> >
> > Yeah, that would be the best solution IMO - it's not like there's any
> > real prospect of someone bisecting futex2 patch-enablement commits on
> > Alpha ... and the bisection distance isn't particularly large either in
> > any case.
>
> OK, works for me. I'll keep my branch as-is, and just ensure it gets sent
> out after locking/core has been pulled by Linus.

Thank you!

Ingo

Subject: [tip: locking/core] alpha: Fix up new futex syscall numbers

The following commit has been merged into the locking/core branch of tip:

Commit-ID: dcc134510eefaec6dda4fe71ab824f0300ed9f9f
Gitweb: https://git.kernel.org/tip/dcc134510eefaec6dda4fe71ab824f0300ed9f9f
Author: Peter Zijlstra <[email protected]>
AuthorDate: Mon, 16 Oct 2023 13:12:54 +02:00
Committer: Peter Zijlstra <[email protected]>
CommitterDate: Mon, 16 Oct 2023 13:20:54 +02:00

alpha: Fix up new futex syscall numbers

As per Arnd, Alpha syscalls since time64 are offset by 120, retain
this offset.

Fixes: 9f6c532f59b2 ("futex: Add sys_futex_wake()")
Reported-by: Arnd Bergmann <[email protected]>
Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
Link: https://lkml.kernel.org/r/[email protected]
---
arch/alpha/kernel/syscalls/syscall.tbl | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/arch/alpha/kernel/syscalls/syscall.tbl b/arch/alpha/kernel/syscalls/syscall.tbl
index b1865f9..b68f1f5 100644
--- a/arch/alpha/kernel/syscalls/syscall.tbl
+++ b/arch/alpha/kernel/syscalls/syscall.tbl
@@ -492,6 +492,7 @@
560 common set_mempolicy_home_node sys_ni_syscall
561 common cachestat sys_cachestat
562 common fchmodat2 sys_fchmodat2
-563 common futex_wake sys_futex_wake
-564 common futex_wait sys_futex_wait
-565 common futex_requeue sys_futex_requeue
+# 563 reserved for map_shadow_stack
+564 common futex_wake sys_futex_wake
+565 common futex_wait sys_futex_wait
+566 common futex_requeue sys_futex_requeue

2023-10-16 11:53:40

by Ingo Molnar

[permalink] [raw]
Subject: Re: linux-next: manual merge of the block tree with the asm-generic tree


* Ingo Molnar <[email protected]> wrote:

>
> * Jens Axboe <[email protected]> wrote:
>
> > >>> Peter, what's the verdict - do you want to rebase it, or leave it
> > >>> as-is?
> > >>
> > >> Ah, I looked into doing this, but tip/locking/core has since grown a
> > >> bunch of patches and has a merge commit -- I talked to Ingo yesterday
> > >> and he proposed just queueing a fix on top instead of doing a full
> > >> rebase.
> > >>
> > >> Ingo, that still your preferred solution?
> > >
> > > Yeah, that would be the best solution IMO - it's not like there's any
> > > real prospect of someone bisecting futex2 patch-enablement commits on
> > > Alpha ... and the bisection distance isn't particularly large either in
> > > any case.
> >
> > OK, works for me. I'll keep my branch as-is, and just ensure it gets sent
> > out after locking/core has been pulled by Linus.
>
> Thank you!

Heads-up: the futex syscall numbers are now fixed on Alpha in the locking
tree via:

dcc134510eef ("alpha: Fix up new futex syscall numbers")

This would, I presume, trigger a new conflict in -next, which should be
resolved in an identical fashion.

Jens, feel free to send your tree to Linus in any ordering with the
locking tree, there's no real dependency between them, and whoever
sends last should warn Linus about the known conflict.

Thanks,

Ingo

2023-10-17 01:12:58

by Stephen Rothwell

[permalink] [raw]
Subject: Re: linux-next: manual merge of the block tree with the asm-generic tree

Hi Ingo,

On Mon, 16 Oct 2023 13:53:13 +0200 Ingo Molnar <[email protected]> wrote:
>
> Heads-up: the futex syscall numbers are now fixed on Alpha in the locking
> tree via:
>
> dcc134510eef ("alpha: Fix up new futex syscall numbers")

Thanks.

> This would, I presume, trigger a new conflict in -next, which should be
> resolved in an identical fashion.

Indeed, done.

--
Cheers,
Stephen Rothwell


Attachments:
(No filename) (499.00 B)
OpenPGP digital signature

2023-10-31 22:22:08

by Stephen Rothwell

[permalink] [raw]
Subject: Re: linux-next: manual merge of the block tree with the asm-generic tree

Hi all,

On Mon, 9 Oct 2023 12:31:18 +1100 Stephen Rothwell <[email protected]> wrote:
>
> Today's linux-next merge of the block tree got conflicts in:
>
> arch/alpha/kernel/syscalls/syscall.tbl
> arch/arm/tools/syscall.tbl
> arch/arm64/include/asm/unistd.h
> arch/arm64/include/asm/unistd32.h
> arch/m68k/kernel/syscalls/syscall.tbl
> arch/microblaze/kernel/syscalls/syscall.tbl
> arch/mips/kernel/syscalls/syscall_n32.tbl
> arch/mips/kernel/syscalls/syscall_n64.tbl
> arch/mips/kernel/syscalls/syscall_o32.tbl
> arch/parisc/kernel/syscalls/syscall.tbl
> arch/powerpc/kernel/syscalls/syscall.tbl
> arch/s390/kernel/syscalls/syscall.tbl
> arch/sh/kernel/syscalls/syscall.tbl
> arch/sparc/kernel/syscalls/syscall.tbl
> arch/x86/entry/syscalls/syscall_32.tbl
> arch/xtensa/kernel/syscalls/syscall.tbl
> include/uapi/asm-generic/unistd.h
>
> between commits:
>
> 2fd0ebad27bc ("arch: Reserve map_shadow_stack() syscall number for all architectures")
>
> from the asm-generic tree and commits:
>
> 9f6c532f59b2 ("futex: Add sys_futex_wake()")
> cb8c4312afca ("futex: Add sys_futex_wait()")
> 0f4b5f972216 ("futex: Add sys_futex_requeue()")
>
> from the block tree.

This is now a conflict between the asm-generic tree and Linus' tree.

--
Cheers,
Stephen Rothwell


Attachments:
(No filename) (499.00 B)
OpenPGP digital signature