public inbox for linux-nfs@vger.kernel.org
 help / color / mirror / Atom feed
From: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
To: "Pali Rohár" <pali@kernel.org>, "Mike Snitzer" <snitzer@redhat.com>
Cc: linux-nfs@vger.kernel.org
Subject: Re: nfs compile error nfslocalio.o and localio.o since v6.14-rc1
Date: Tue, 25 Mar 2025 11:25:38 -0700	[thread overview]
Message-ID: <e2ec5e8d-a004-42b7-81ad-05edb1365224@oss.qualcomm.com> (raw)
In-Reply-To: <20250318190520.efwb45jarbyacnw4@pali>

On 3/18/25 12:05, Pali Rohár wrote:
> PING?
> 
> On Sunday 23 February 2025 19:27:46 Pali Rohár wrote:
>> 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").

FWIW I'm seeing this issue using gcc-13.3.0-nolibc/x86_64-linux/bin/x86_64-linux-gcc
from https://www.kernel.org/pub/tools/crosstool so this isn't just a GCC version
issue. My workspace is based on 6.14-rc5

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’
  538 |  typeof(*p) *local = (typeof(*p) *__force)READ_ONCE(p); \
      |         ^
./include/linux/rcupdate.h:686:2: note: in expansion of macro ‘__rcu_dereference_check’
  686 |  __rcu_dereference_check((p), __UNIQUE_ID(rcu), \
      |  ^~~~~~~~~~~~~~~~~~~~~~~
./include/linux/rcupdate.h:758:28: note: in expansion of macro ‘rcu_dereference_check’
  758 | #define rcu_dereference(p) rcu_dereference_check(p, 0)
      |                            ^~~~~~~~~~~~~~~~~~~~~
fs/nfs/localio.c:275:7: note: in expansion of macro ‘rcu_dereference’
  275 |  nf = rcu_dereference(*pnf);
      |       ^~~~~~~~~~~~~~~
make[7]: *** [scripts/Makefile.build:207: fs/nfs/localio.o] Error 1

There is also a Intel kernel test robot report:
https://lore.kernel.org/all/202503181317.eiDzfsM0-lkp@intel.com/



  reply	other threads:[~2025-03-25 18:25 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
2025-02-23 18:27         ` Pali Rohár
2025-03-18 19:05           ` Pali Rohár
2025-03-25 18:25             ` Jeff Johnson [this message]
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=e2ec5e8d-a004-42b7-81ad-05edb1365224@oss.qualcomm.com \
    --to=jeff.johnson@oss.qualcomm.com \
    --cc=linux-nfs@vger.kernel.org \
    --cc=pali@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