Re: [PATCH 2/5] selftests/fs/statmount: build with tools include dir

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, May 08, 2025 at 01:36:09PM +0200, Amir Goldstein wrote:
> Forgot to CC Miklos (now added)
> 
> On Thu, May 8, 2025 at 9:31 AM John Hubbard <jhubbard@xxxxxxxxxx> wrote:
> >
> > On 5/7/25 1:42 PM, Amir Goldstein wrote:
> > > Copy the required headers files (mount.h, nsfs.h) to the
> > > tools include dir and define the statmount/listmount syscalls
> > > for x86_64 to decouple dependency with headers_install for the
> > > common case.
> > >
> > > Signed-off-by: Amir Goldstein <amir73il@xxxxxxxxx>
> > > ---
> ...
> > > -CFLAGS += -Wall -O2 -g $(KHDR_INCLUDES)
> > > +CFLAGS += -Wall -O2 -g $(KHDR_INCLUDES) $(TOOLS_INCLUDES)
> >
> > Yes. :)
> >
> > > +
> > >   TEST_GEN_PROGS := statmount_test statmount_test_ns listmount_test
> > >
> > >   include ../../lib.mk
> > > diff --git a/tools/testing/selftests/filesystems/statmount/statmount.h b/tools/testing/selftests/filesystems/statmount/statmount.h
> > > index a7a5289ddae9..e84d47fadd0b 100644
> > > --- a/tools/testing/selftests/filesystems/statmount/statmount.h
> > > +++ b/tools/testing/selftests/filesystems/statmount/statmount.h
> > > @@ -7,6 +7,18 @@
> > >   #include <linux/mount.h>
> > >   #include <asm/unistd.h>
> > >
> > > +#ifndef __NR_statmount
> > > +#if defined(__x86_64__)
> > > +#define __NR_statmount       457
> > > +#endif
> > > +#endif
> > > +
> > > +#ifndef __NR_listmount
> > > +#if defined(__x86_64__)
> > > +#define __NR_listmount       458
> > > +#endif
> > > +#endif
> >
> > Yes, syscalls are the weak point for this approach, and the above is
> > reasonable, given the situation, which is: we are not set up to recreate
> > per-arch syscall tables for kselftests to use. But this does leave the
> > other big arch out in the cold: arm64.
> >
> > It's easy to add, though, if and when someone wants it.
> 
> I have no problem adding || defined(__arm64__)
> it's the same syscall numbers anyway.
> 
> Or I could do
> #if !defined(__alpha__) && !defined(_MIPS_SIM)
> 
> but I could not bring myself to do the re-definitions that Christian
> added in mount_setattr_test.c for
> __NR_mount_setattr, __NR_open_tree, __NR_move_mount
> 
> Note that there are stale definitions for __ia64__ in that file
> and the stale definition for __NR_move_mount is even wrong ;)
> 
> Christian,
> 
> How about moving the definitions from mount_setattr_test.c into wrappers.h
> and leaving only the common !defined(__alpha__) && !defined(_MIPS_SIM)
> case?
> 
> Thanks for the review!

For new system calls this covers all arches and is what I usually use:

#ifndef __NR_open_tree
        #if defined __alpha__
                #define __NR_open_tree 538
        #elif defined _MIPS_SIM
                #if _MIPS_SIM == _MIPS_SIM_ABI32        /* o32 */
                        #define __NR_open_tree 4428
                #endif
                #if _MIPS_SIM == _MIPS_SIM_NABI32       /* n32 */
                        #define __NR_open_tree 6428
                #endif
                #if _MIPS_SIM == _MIPS_SIM_ABI64        /* n64 */
                        #define __NR_open_tree 5428
                #endif
        #elif defined __ia64__
                #define __NR_open_tree (428 + 1024)
        #else
                #define __NR_open_tree 428
        #endif
#endif

where the ia64 stuff can obviously be removed now.




[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux