[cel:topic-nfsd-tracepoints 95/162] fs/nfsd/xdr4.h:751:20: error: 'struct svc_fh' has no member named 'fh_pre_saved'

From: kernel test robot
Date: Wed Nov 17 2021 - 09:42:05 EST


tree: git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux topic-nfsd-tracepoints
head: b6c4274cc47f0469a384be035e9f685deeb018c6
commit: 04e6d55241045c0be33f948e1a8560a4c74ad82b [95/162] NFSD: Add NFSv4 XDR tracepoint infrastructure
config: microblaze-buildonly-randconfig-r006-20211116 (attached as .config)
compiler: microblaze-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/cel/linux.git/commit/?id=04e6d55241045c0be33f948e1a8560a4c74ad82b
git remote add cel git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux
git fetch --no-tags cel topic-nfsd-tracepoints
git checkout 04e6d55241045c0be33f948e1a8560a4c74ad82b
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=microblaze SHELL=/bin/bash fs/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

In file included from include/uapi/linux/swab.h:6,
from include/linux/swab.h:5,
from include/uapi/linux/byteorder/little_endian.h:13,
from include/linux/byteorder/little_endian.h:5,
from arch/microblaze/include/uapi/asm/byteorder.h:6,
from include/linux/statfs.h:7,
from include/linux/vfs.h:5,
from fs/nfsd/xdr.h:7,
from fs/nfsd/xdr3.h:11,
from fs/nfsd/xdrtrace.c:10:
fs/nfsd/xdr4.h: In function 'set_change_info':
>> fs/nfsd/xdr4.h:751:20: error: 'struct svc_fh' has no member named 'fh_pre_saved'
751 | BUG_ON(!fhp->fh_pre_saved);
| ^~
include/linux/compiler.h:33:55: note: in definition of macro '__branch_check__'
33 | ______r = __builtin_expect(!!(x), expect); \
| ^
include/asm-generic/bug.h:65:36: note: in expansion of macro 'unlikely'
65 | #define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
| ^~~~~~~~
fs/nfsd/xdr4.h:751:9: note: in expansion of macro 'BUG_ON'
751 | BUG_ON(!fhp->fh_pre_saved);
| ^~~~~~
>> fs/nfsd/xdr4.h:751:20: error: 'struct svc_fh' has no member named 'fh_pre_saved'
751 | BUG_ON(!fhp->fh_pre_saved);
| ^~
include/linux/compiler.h:35:54: note: in definition of macro '__branch_check__'
35 | expect, is_constant); \
| ^~~~~~~~~~~
include/asm-generic/bug.h:65:36: note: in expansion of macro 'unlikely'
65 | #define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
| ^~~~~~~~
fs/nfsd/xdr4.h:751:9: note: in expansion of macro 'BUG_ON'
751 | BUG_ON(!fhp->fh_pre_saved);
| ^~~~~~
In file included from fs/nfsd/xdr4trace.h:10,
from fs/nfsd/xdrtrace.h:98,
from fs/nfsd/xdrtrace.c:13:
>> fs/nfsd/xdr4.h:752:34: error: 'struct svc_fh' has no member named 'fh_post_saved'
752 | cinfo->atomic = (u32)(fhp->fh_post_saved && !fhp->fh_no_atomic_attr);
| ^~
>> fs/nfsd/xdr4.h:754:35: error: 'struct svc_fh' has no member named 'fh_pre_change'
754 | cinfo->before_change = fhp->fh_pre_change;
| ^~
>> fs/nfsd/xdr4.h:755:34: error: 'struct svc_fh' has no member named 'fh_post_change'
755 | cinfo->after_change = fhp->fh_post_change;
| ^~
In file included from include/trace/define_trace.h:102,
from fs/nfsd/xdrtrace.h:106,
from fs/nfsd/xdrtrace.c:13:
include/trace/../../fs/nfsd/xdr3trace.h: In function 'trace_event_raw_event_encode_wcc_data_pre_attr':
include/trace/../../fs/nfsd/xdr3trace.h:1125:36: error: 'const struct svc_fh' has no member named 'fh_pre_size'
1125 | __entry->size = fhp->fh_pre_size;
| ^~
include/trace/trace_events.h:743:11: note: in definition of macro 'DECLARE_EVENT_CLASS'
743 | { assign; } \
| ^~~~~~
include/trace/trace_events.h:79:30: note: in expansion of macro 'PARAMS'
79 | PARAMS(assign), \
| ^~~~~~
include/trace/../../fs/nfsd/xdr3trace.h:1105:1: note: in expansion of macro 'TRACE_EVENT'
1105 | TRACE_EVENT(encode_wcc_data_pre_attr,
| ^~~~~~~~~~~
include/trace/../../fs/nfsd/xdr3trace.h:1121:9: note: in expansion of macro 'TP_fast_assign'
1121 | TP_fast_assign(
| ^~~~~~~~~~~~~~
include/trace/../../fs/nfsd/xdr3trace.h:1126:41: error: 'const struct svc_fh' has no member named 'fh_pre_mtime'
1126 | __entry->mtime_sec = fhp->fh_pre_mtime.tv_sec;
| ^~
include/trace/trace_events.h:743:11: note: in definition of macro 'DECLARE_EVENT_CLASS'
743 | { assign; } \
| ^~~~~~
include/trace/trace_events.h:79:30: note: in expansion of macro 'PARAMS'
79 | PARAMS(assign), \
| ^~~~~~
include/trace/../../fs/nfsd/xdr3trace.h:1105:1: note: in expansion of macro 'TRACE_EVENT'
1105 | TRACE_EVENT(encode_wcc_data_pre_attr,
| ^~~~~~~~~~~
include/trace/../../fs/nfsd/xdr3trace.h:1121:9: note: in expansion of macro 'TP_fast_assign'
1121 | TP_fast_assign(
| ^~~~~~~~~~~~~~
include/trace/../../fs/nfsd/xdr3trace.h:1127:42: error: 'const struct svc_fh' has no member named 'fh_pre_mtime'
1127 | __entry->mtime_nsec = fhp->fh_pre_mtime.tv_nsec;
| ^~
include/trace/trace_events.h:743:11: note: in definition of macro 'DECLARE_EVENT_CLASS'
743 | { assign; } \
| ^~~~~~
include/trace/trace_events.h:79:30: note: in expansion of macro 'PARAMS'
79 | PARAMS(assign), \
| ^~~~~~
include/trace/../../fs/nfsd/xdr3trace.h:1105:1: note: in expansion of macro 'TRACE_EVENT'
1105 | TRACE_EVENT(encode_wcc_data_pre_attr,
| ^~~~~~~~~~~
include/trace/../../fs/nfsd/xdr3trace.h:1121:9: note: in expansion of macro 'TP_fast_assign'
1121 | TP_fast_assign(
| ^~~~~~~~~~~~~~
include/trace/../../fs/nfsd/xdr3trace.h:1128:41: error: 'const struct svc_fh' has no member named 'fh_pre_ctime'
1128 | __entry->ctime_sec = fhp->fh_pre_ctime.tv_sec;
| ^~
include/trace/trace_events.h:743:11: note: in definition of macro 'DECLARE_EVENT_CLASS'
743 | { assign; } \
| ^~~~~~
include/trace/trace_events.h:79:30: note: in expansion of macro 'PARAMS'
79 | PARAMS(assign), \
| ^~~~~~
include/trace/../../fs/nfsd/xdr3trace.h:1105:1: note: in expansion of macro 'TRACE_EVENT'
1105 | TRACE_EVENT(encode_wcc_data_pre_attr,
| ^~~~~~~~~~~
include/trace/../../fs/nfsd/xdr3trace.h:1121:9: note: in expansion of macro 'TP_fast_assign'
1121 | TP_fast_assign(
| ^~~~~~~~~~~~~~
include/trace/../../fs/nfsd/xdr3trace.h:1129:42: error: 'const struct svc_fh' has no member named 'fh_pre_ctime'
1129 | __entry->ctime_nsec = fhp->fh_pre_ctime.tv_nsec;
| ^~
include/trace/trace_events.h:743:11: note: in definition of macro 'DECLARE_EVENT_CLASS'
743 | { assign; } \
| ^~~~~~
include/trace/trace_events.h:79:30: note: in expansion of macro 'PARAMS'
79 | PARAMS(assign), \
| ^~~~~~
include/trace/../../fs/nfsd/xdr3trace.h:1105:1: note: in expansion of macro 'TRACE_EVENT'
1105 | TRACE_EVENT(encode_wcc_data_pre_attr,
| ^~~~~~~~~~~
include/trace/../../fs/nfsd/xdr3trace.h:1121:9: note: in expansion of macro 'TP_fast_assign'
1121 | TP_fast_assign(
| ^~~~~~~~~~~~~~
--
In file included from include/linux/build_bug.h:5,
from include/linux/container_of.h:5,
from include/linux/list.h:5,
from include/linux/rculist.h:10,
from include/linux/sched/signal.h:5,
from fs/nfsd/nfssvc.c:10:
fs/nfsd/xdr4.h: In function 'set_change_info':
>> fs/nfsd/xdr4.h:751:20: error: 'struct svc_fh' has no member named 'fh_pre_saved'
751 | BUG_ON(!fhp->fh_pre_saved);
| ^~
include/linux/compiler.h:33:55: note: in definition of macro '__branch_check__'
33 | ______r = __builtin_expect(!!(x), expect); \
| ^
include/asm-generic/bug.h:65:36: note: in expansion of macro 'unlikely'
65 | #define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
| ^~~~~~~~
fs/nfsd/xdr4.h:751:9: note: in expansion of macro 'BUG_ON'
751 | BUG_ON(!fhp->fh_pre_saved);
| ^~~~~~
>> fs/nfsd/xdr4.h:751:20: error: 'struct svc_fh' has no member named 'fh_pre_saved'
751 | BUG_ON(!fhp->fh_pre_saved);
| ^~
include/linux/compiler.h:35:54: note: in definition of macro '__branch_check__'
35 | expect, is_constant); \
| ^~~~~~~~~~~
include/asm-generic/bug.h:65:36: note: in expansion of macro 'unlikely'
65 | #define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
| ^~~~~~~~
fs/nfsd/xdr4.h:751:9: note: in expansion of macro 'BUG_ON'
751 | BUG_ON(!fhp->fh_pre_saved);
| ^~~~~~
In file included from fs/nfsd/xdr4trace.h:10,
from fs/nfsd/xdrtrace.h:98,
from fs/nfsd/nfssvc.c:32:
>> fs/nfsd/xdr4.h:752:34: error: 'struct svc_fh' has no member named 'fh_post_saved'
752 | cinfo->atomic = (u32)(fhp->fh_post_saved && !fhp->fh_no_atomic_attr);
| ^~
>> fs/nfsd/xdr4.h:754:35: error: 'struct svc_fh' has no member named 'fh_pre_change'
754 | cinfo->before_change = fhp->fh_pre_change;
| ^~
>> fs/nfsd/xdr4.h:755:34: error: 'struct svc_fh' has no member named 'fh_post_change'
755 | cinfo->after_change = fhp->fh_post_change;
| ^~


vim +751 fs/nfsd/xdr4.h

^1da177e4c3f41 include/linux/nfsd/xdr4.h Linus Torvalds 2005-04-16 747
^1da177e4c3f41 include/linux/nfsd/xdr4.h Linus Torvalds 2005-04-16 748 static inline void
^1da177e4c3f41 include/linux/nfsd/xdr4.h Linus Torvalds 2005-04-16 749 set_change_info(struct nfsd4_change_info *cinfo, struct svc_fh *fhp)
^1da177e4c3f41 include/linux/nfsd/xdr4.h Linus Torvalds 2005-04-16 750 {
c1ac3ffcd0bc7e fs/nfsd/xdr4.h Neil Brown 2010-12-02 @751 BUG_ON(!fhp->fh_pre_saved);
716a8bc7f706ee fs/nfsd/xdr4.h Trond Myklebust 2020-11-30 @752 cinfo->atomic = (u32)(fhp->fh_post_saved && !fhp->fh_no_atomic_attr);
c1ac3ffcd0bc7e fs/nfsd/xdr4.h Neil Brown 2010-12-02 753
c654b8a9cba600 include/linux/nfsd/xdr4.h J. Bruce Fields 2009-04-16 @754 cinfo->before_change = fhp->fh_pre_change;
c654b8a9cba600 include/linux/nfsd/xdr4.h J. Bruce Fields 2009-04-16 @755 cinfo->after_change = fhp->fh_post_change;
c654b8a9cba600 include/linux/nfsd/xdr4.h J. Bruce Fields 2009-04-16 756 }
^1da177e4c3f41 include/linux/nfsd/xdr4.h Linus Torvalds 2005-04-16 757

:::::: The code at line 751 was first introduced by commit
:::::: c1ac3ffcd0bc7e9617f62be8c7043d53ab84deac nfsd: Fix possible BUG_ON firing in set_change_info

:::::: TO: Neil Brown <neilb@xxxxxxx>
:::::: CC: J. Bruce Fields <bfields@xxxxxxxxxx>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip