On Sat, 29 Mar 2025, Dmitry V. Levin wrote: > > > +#if defined(_MIPS_SIM) && _MIPS_SIM == _MIPS_SIM_NABI32 > > > +/* > > > + * MIPS N32 is the only architecture where __kernel_ulong_t > > > + * does not match the bitness of syscall arguments. > > > + */ > > > +typedef unsigned long long kernel_ulong_t; > > > +#else > > > +typedef __kernel_ulong_t kernel_ulong_t; > > > +#endif > > > + > > > > What's the reason for adding these typedefs? checkpatch should > > have warned you about adding new typedefs. > > > > Also this introduces kernel_ulong_t in user-space test code. > > Something to avoid. > > There has to be a new type for this test, and the natural way to do this > is to use typedef. The alternative would be to #define kernel_ulong_t > which is ugly. By the way, there are quite a few typedefs in selftests, > and there seems to be given no rationale why adding new types in selftests > is a bad idea.
FWIW I agree, and I fail to see a reason why this would be a problem in a standalone test program where the typedef does not propagate anywhere. The only potential issue I can identify would be a namespace clash, so perhaps the new type could have a name prefix specific to the test, but it doesn't appear to me a widespread practice across our selftests and then `kernel_' ought to be pretty safe against ISO C or POSIX, so perhaps let's leave the things alone? Maciej