From: "Pali Rohár" <pali@kernel.org>
To: Chuck Lever <chuck.lever@oracle.com>
Cc: Mike Snitzer <snitzer@redhat.com>, linux-nfs@vger.kernel.org
Subject: Re: nfs compile error nfslocalio.o and localio.o since v6.14-rc1
Date: Sat, 15 Feb 2025 17:51:00 +0100 [thread overview]
Message-ID: <20250215165100.jlibe46qwwdfgau5@pali> (raw)
In-Reply-To: <a8e12721-721e-41d1-9192-940c01e7f0f0@oracle.com>
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
next prev parent reply other threads:[~2025-02-15 16:51 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-15 12:00 nfs compile error nfslocalio.o and localio.o since v6.14-rc1 Pali Rohár
2025-02-15 16:29 ` Chuck Lever
2025-02-15 16:38 ` Pali Rohár
2025-02-15 16:41 ` Chuck Lever
2025-02-15 16:51 ` Pali Rohár [this message]
2025-02-23 18:27 ` Pali Rohár
2025-03-18 19:05 ` Pali Rohár
2025-03-25 18:25 ` Jeff Johnson
2025-03-26 15:09 ` [PATCH] nfs: add dummy definition for nfsd_file Mike Snitzer
2025-03-26 15:33 ` Jeff Johnson
2025-03-26 20:59 ` Pali Rohár
2025-03-27 2:00 ` Mike Snitzer
2025-03-27 8:28 ` Pali Rohár
2025-03-27 20:17 ` Mike Snitzer
2025-04-09 12:17 ` [PATCH] " Vincent Mailhol
2025-04-10 2:09 ` [PATCH v2] " Mike Snitzer
2025-04-16 2:41 ` Vincent Mailhol
2025-04-16 13:31 ` Chuck Lever
2025-04-18 21:34 ` Mike Snitzer
2025-04-19 17:52 ` Chuck Lever
2025-04-20 16:12 ` Mike Snitzer
2025-04-22 20:16 ` Pali Rohár
2025-04-22 21:54 ` NeilBrown
2025-04-22 22:02 ` Pali Rohár
2025-04-23 0:32 ` NeilBrown
2025-04-23 6:47 ` Vincent Mailhol
2025-04-23 8:45 ` Vincent Mailhol
2025-04-23 9:09 ` NeilBrown
2025-04-23 10:03 ` Vincent Mailhol
2025-04-24 16:04 ` Mike Snitzer
2025-05-04 9:07 ` Pali Rohár
2025-05-07 2:29 ` NeilBrown
2025-04-23 14:59 ` Chuck Lever
2025-04-21 11:52 ` Jeff Layton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250215165100.jlibe46qwwdfgau5@pali \
--to=pali@kernel.org \
--cc=chuck.lever@oracle.com \
--cc=linux-nfs@vger.kernel.org \
--cc=snitzer@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox