Message ID | 20240105-vfs-mount-5e94596bd1d1@brauner (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [GIT,PULL] vfs mount api updates | expand |
The pull request you sent on Fri, 5 Jan 2024 13:46:53 +0100:
> git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.8.mount
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/8c9440fea77440772542d6dbcb5c36182495c164
Thank you!
On Fri, 5 Jan 2024 at 04:47, Christian Brauner <brauner@kernel.org> wrote: > > This contains the work to retrieve detailed information about mounts via two > new system calls. Gaah. While I have an arm64 laptop now, I don't do arm64 builds in between each pull like I do x86 ones. I *did* just start one, because I got the arm64 pull request. And this fails the arm64 build, because __NR_statmount and __NR_listmount (457 and 458 respectively) exceed the compat system call array size, which is arch/arm64/include/asm/unistd.h: #define __NR_compat_syscalls 457 I don't think this is a merge error, I think the error is there in the original, but I'm about to go off and have dinner, so I'm just sending this out for now. How was this not noted in linux-next? Am I missing something? Now, admittedly this looks like an easy mistake to make due to that whole odd situation where the compat system calls are listed in unistd32.h, but then the max number is in unistd.h, but I would still have expected this to have raised flags before it hit my tree.. Linus
Hi Linus, On Mon, Jan 08, 2024 at 05:02:48PM -0800, Linus Torvalds wrote: > On Fri, 5 Jan 2024 at 04:47, Christian Brauner <brauner@kernel.org> wrote: > > > > This contains the work to retrieve detailed information about mounts via two > > new system calls. > > Gaah. While I have an arm64 laptop now, I don't do arm64 builds in > between each pull like I do x86 ones. > > I *did* just start one, because I got the arm64 pull request. > > And this fails the arm64 build, because __NR_statmount and > __NR_listmount (457 and 458 respectively) exceed the compat system > call array size, which is > > arch/arm64/include/asm/unistd.h: > #define __NR_compat_syscalls 457 > > I don't think this is a merge error, I think the error is there in the > original, but I'm about to go off and have dinner, so I'm just sending > this out for now. > > How was this not noted in linux-next? Am I missing something? Urgh, that is surprising, and I just confirmed that linux-next builds fine! The reason seems to be because there are also some new lsm syscalls being added there (lsm_get_self_attr and friends) which bump __NR_compat_syscalls to 460 and then Stephen Rothwell's mighty merging magic adjusted this up to 462 in the merge of the lsm tree. > Now, admittedly this looks like an easy mistake to make due to that > whole odd situation where the compat system calls are listed in > unistd32.h, but then the max number is in unistd.h, but I would still > have expected this to have raised flags before it hit my tree.. I suppose the two options for now are either to merge the lsm stuff and adjust __NR_compat_syscalls as Stephen did, or to take this patch from Florian in the meantime: https://lore.kernel.org/r/20240109010906.429652-1-florian.fainelli@broadcom.com Cheers, Will
On Tue, Jan 9, 2024 at 10:52 AM Will Deacon <will@kernel.org> wrote: > > Hi Linus, > > On Mon, Jan 08, 2024 at 05:02:48PM -0800, Linus Torvalds wrote: > > On Fri, 5 Jan 2024 at 04:47, Christian Brauner <brauner@kernel.org> wrote: > > > > > > This contains the work to retrieve detailed information about mounts via two > > > new system calls. > > > > Gaah. While I have an arm64 laptop now, I don't do arm64 builds in > > between each pull like I do x86 ones. > > > > I *did* just start one, because I got the arm64 pull request. > > > > And this fails the arm64 build, because __NR_statmount and > > __NR_listmount (457 and 458 respectively) exceed the compat system > > call array size, which is > > > > arch/arm64/include/asm/unistd.h: > > #define __NR_compat_syscalls 457 > > > > I don't think this is a merge error, I think the error is there in the > > original, but I'm about to go off and have dinner, so I'm just sending > > this out for now. > > > > How was this not noted in linux-next? Am I missing something? > > Urgh, that is surprising, and I just confirmed that linux-next builds > fine! The reason seems to be because there are also some new lsm > syscalls being added there (lsm_get_self_attr and friends) which bump > __NR_compat_syscalls to 460 and then Stephen Rothwell's mighty merging > magic adjusted this up to 462 in the merge of the lsm tree. > > > Now, admittedly this looks like an easy mistake to make due to that > > whole odd situation where the compat system calls are listed in > > unistd32.h, but then the max number is in unistd.h, but I would still > > have expected this to have raised flags before it hit my tree.. > > I suppose the two options for now are either to merge the lsm stuff and > adjust __NR_compat_syscalls as Stephen did, or to take this patch from > Florian in the meantime: > > https://lore.kernel.org/r/20240109010906.429652-1-florian.fainelli@broadcom.com > Applied upstream: https://git.kernel.org/linus/f0a78b3e2a0c842cc7b4c2686f4a35681f02ca72 -Sedat-
Hi Linus, On Mon, 8 Jan 2024 17:02:48 -0800 Linus Torvalds <torvalds@linux-foundation.org> wrote: > > How was this not noted in linux-next? Am I missing something? I suspect I noticed this when the other syscall adding commits arrived (in the security tree) and sent https://lore.kernel.org/all/20231120143106.3f8faedd@canb.auug.org.au/ - which gave a hint and would have hidden the error you got. I also do not do arm64 builds along the way and only at the end of my day.
On Mon, Jan 08, 2024 at 05:02:48PM -0800, Linus Torvalds wrote: > On Fri, 5 Jan 2024 at 04:47, Christian Brauner <brauner@kernel.org> wrote: > > > > This contains the work to retrieve detailed information about mounts via two > > new system calls. > > Gaah. While I have an arm64 laptop now, I don't do arm64 builds in > between each pull like I do x86 ones. > > I *did* just start one, because I got the arm64 pull request. > > And this fails the arm64 build, because __NR_statmount and > __NR_listmount (457 and 458 respectively) exceed the compat system > call array size, which is > > arch/arm64/include/asm/unistd.h: > #define __NR_compat_syscalls 457 > > I don't think this is a merge error, I think the error is there in the > original, but I'm about to go off and have dinner, so I'm just sending > this out for now. > > How was this not noted in linux-next? Am I missing something? > > Now, admittedly this looks like an easy mistake to make due to that > whole odd situation where the compat system calls are listed in > unistd32.h, but then the max number is in unistd.h, but I would still > have expected this to have raised flags before it hit my tree.. Bah. I think Will already provided a good explantion for how this came to be. But for full transparency: I've ran into this exact issue before with other system calls we added and I've been notified/saved by Arnd who pointed out that this file needs to be updated. 32 bit arm has this annoying extra file where you need to bump that single line. But it'd be nice if we finally had some: ./add-new-syscall script that could automate adding a new system call number into all relevant architectures. Sorry for the breakage. I see that it's already fixed. I'll make a note to reactivate my cross-compilation toolsuite.