Mike, have you looked at this issue? On Saturday 15 February 2025 17:51:00 Pali Rohár wrote: > On Saturday 15 February 2025 11:41:25 Chuck Lever wrote: > > On 2/15/25 11:38 AM, Pali Rohár wrote: > > > On Saturday 15 February 2025 11:29:45 Chuck Lever wrote: > > >> Hi Pali - > > >> > > >> On 2/15/25 7:00 AM, Pali Rohár wrote: > > >>> Hello, since v6.14-rc1, file nfslocalio.c cannot be compiled with > > >>> gcc-8.3 and attached .config file. Same problem is with localio.c. > > >> > > >> If the interwebs are correct, gcc-8.3 was released in 2014. ISTR that > > >> recent releases of the Linux kernel no longer support gcc versions that > > >> old. > > > > > > Hello, I know that this is old version, and I specially used it just to > > > check if everything compiles correctly. And it failed. > > > > > > Per https://docs.kernel.org/process/changes.html the minimal version of > > > gcc is 5.1, so I think that compilation with gcc 8.3 should still be > > > supported. > > > > > >> It appears to be snagging on kernel-wide utility helpers, not code > > >> specific to NFS. > > > > > > It looks like that, but only those two nfs files cause compile errors. > > > Everything else compiles without problem. So it is quite suspicious and > > > maybe it could signal that those helper are used incorrectly in nfs > > > code? I'm not sure, I have not investigated it. > > > > A bisect would be helpful. > > > > Also, what is the CPU platform architecture? x86_64? > > Yes, it is x86_64, I hope that all details/configuration is in the > .config file. I took generic gcc 8.3 version which was distributed by > some debian version. So nothing special. > > > > > >> If that's the case, it might not be possible for us to address this > > >> breakage. > > >> > > >> Adding Mike, who contributed this code. > > >> > > >>> Error is: > > >>> > > >>> $ make bzImage > > >>> CALL scripts/checksyscalls.sh > > >>> DESCEND objtool > > >>> INSTALL libsubcmd_headers > > >>> CC fs/nfs_common/nfslocalio.o > > >>> In file included from ./include/linux/rbtree.h:24, > > >>> from ./include/linux/mm_types.h:11, > > >>> from ./include/linux/mmzone.h:22, > > >>> from ./include/linux/gfp.h:7, > > >>> from ./include/linux/umh.h:4, > > >>> from ./include/linux/kmod.h:9, > > >>> from ./include/linux/module.h:17, > > >>> from fs/nfs_common/nfslocalio.c:7: > > >>> fs/nfs_common/nfslocalio.c: In function ‘nfs_close_local_fh’: > > >>> ./include/linux/rcupdate.h:531:9: error: dereferencing pointer to incomplete type ‘struct nfsd_file’ > > >>> typeof(*p) *local = (typeof(*p) *__force)READ_ONCE(p); \ > > >>> ^ > > >>> ./include/linux/rcupdate.h:650:31: note: in expansion of macro ‘__rcu_access_pointer’ > > >>> #define rcu_access_pointer(p) __rcu_access_pointer((p), __UNIQUE_ID(rcu), __rcu) > > >>> ^~~~~~~~~~~~~~~~~~~~ > > >>> fs/nfs_common/nfslocalio.c:288:10: note: in expansion of macro ‘rcu_access_pointer’ > > >>> ro_nf = rcu_access_pointer(nfl->ro_file); > > >>> ^~~~~~~~~~~~~~~~~~ > > >>> make[4]: *** [scripts/Makefile.build:207: fs/nfs_common/nfslocalio.o] Error 1 > > >>> make[3]: *** [scripts/Makefile.build:465: fs/nfs_common] Error 2 > > >>> make[2]: *** [scripts/Makefile.build:465: fs] Error 2 > > >>> make[1]: *** [/home/pali/develop/kernel.org/linux/Makefile:1994: .] Error 2 > > >>> make: *** [Makefile:251: __sub-make] Error 2 > > >>> > > >>> > > >>> $ make fs/nfs/localio.o > > >>> CALL scripts/checksyscalls.sh > > >>> DESCEND objtool > > >>> INSTALL libsubcmd_headers > > >>> CC fs/nfs/localio.o > > >>> In file included from ./include/linux/rbtree.h:24, > > >>> from ./include/linux/mm_types.h:11, > > >>> from ./include/linux/mmzone.h:22, > > >>> from ./include/linux/gfp.h:7, > > >>> from ./include/linux/umh.h:4, > > >>> from ./include/linux/kmod.h:9, > > >>> from ./include/linux/module.h:17, > > >>> from fs/nfs/localio.c:11: > > >>> fs/nfs/localio.c: In function ‘nfs_local_open_fh’: > > >>> ./include/linux/rcupdate.h:538:9: error: dereferencing pointer to incomplete type ‘struct nfsd_file’ > > >>> typeof(*p) *local = (typeof(*p) *__force)READ_ONCE(p); \ > > >>> ^ > > >>> ./include/linux/rcupdate.h:686:2: note: in expansion of macro ‘__rcu_dereference_check’ > > >>> __rcu_dereference_check((p), __UNIQUE_ID(rcu), \ > > >>> ^~~~~~~~~~~~~~~~~~~~~~~ > > >>> ./include/linux/rcupdate.h:758:28: note: in expansion of macro ‘rcu_dereference_check’ > > >>> #define rcu_dereference(p) rcu_dereference_check(p, 0) > > >>> ^~~~~~~~~~~~~~~~~~~~~ > > >>> fs/nfs/localio.c:275:7: note: in expansion of macro ‘rcu_dereference’ > > >>> nf = rcu_dereference(*pnf); > > >>> ^~~~~~~~~~~~~~~ > > >>> make[4]: *** [scripts/Makefile.build:207: fs/nfs/localio.o] Error 1 > > >>> make[3]: *** [scripts/Makefile.build:465: fs/nfs] Error 2 > > >>> make[2]: *** [scripts/Makefile.build:465: fs] Error 2 > > >>> make[1]: *** [/home/pali/develop/kernel.org/linux/Makefile:1994: .] Error 2 > > >>> make: *** [Makefile:251: __sub-make] Error 2 > > >>> > > >>> > > >>> Reproduced from commit 7ff71e6d9239 ("Merge tag 'alpha-fixes-v6.14-rc2' > > >>> of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha"). > > >> > > >> > > >> -- > > >> Chuck Lever > > > > > > -- > > Chuck Lever