tree:
https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git
linux-5.6.y-rt-rebase
head: be0ee11d10b24b74d194786bbfc30c754157fbe8
commit: 9c16597e7598314ce4fb69cda60a7094e7d5655b [104/256] fs/dcache: use swait_queue
instead of waitqueue
config: nds32-defconfig (attached as .config)
compiler: nds32le-linux-gcc (GCC) 9.3.0
reproduce:
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 9c16597e7598314ce4fb69cda60a7094e7d5655b
# save the attached .config to linux build tree
GCC_VERSION=9.3.0 make.cross ARCH=nds32
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
Note: the linux-rt-devel/linux-5.6.y-rt-rebase HEAD
be0ee11d10b24b74d194786bbfc30c754157fbe8 builds fine.
It only hurts bisectibility.
All error/warnings (new ones prefixed by >>):
fs//proc/base.c: In function 'proc_fill_cache':
> fs//proc/base.c:1985:3: error: implicit declaration of function
'DECLARE_SWAIT_QUEUE_HEAD_ONSTACK'; did you mean
'DECLARE_WAIT_QUEUE_HEAD_ONSTACK'? [-Werror=implicit-function-declaration]
1985 | DECLARE_SWAIT_QUEUE_HEAD_ONSTACK(wq);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| DECLARE_WAIT_QUEUE_HEAD_ONSTACK
> fs//proc/base.c:1985:36: error: 'wq' undeclared (first
use in this function); did you mean 'rq'?
1985 |
DECLARE_SWAIT_QUEUE_HEAD_ONSTACK(wq);
| ^~
| rq
fs//proc/base.c:1985:36: note: each undeclared identifier is reported only once for
each function it appears in
cc1: some warnings being treated as errors
--
fs//proc/proc_sysctl.c: In function 'proc_sys_fill_cache':
> fs//proc/proc_sysctl.c:705:3: error: implicit declaration of
function 'DECLARE_SWAIT_QUEUE_HEAD_ONSTACK'; did you mean
'DECLARE_WAIT_QUEUE_HEAD_ONSTACK'? [-Werror=implicit-function-declaration]
705 | DECLARE_SWAIT_QUEUE_HEAD_ONSTACK(wq);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| DECLARE_WAIT_QUEUE_HEAD_ONSTACK
> fs//proc/proc_sysctl.c:705:36: error: 'wq' undeclared
(first use in this function); did you mean 'rq'?
705 |
DECLARE_SWAIT_QUEUE_HEAD_ONSTACK(wq);
| ^~
| rq
fs//proc/proc_sysctl.c:705:36: note: each undeclared identifier is reported only once
for each function it appears in
cc1: some warnings being treated as errors
--
In file included from include/linux/nfs_fs.h:38,
from fs//nfs/client.c:25:
> include/linux/nfs_xdr.h:1614:26: error: field 'wq' has
incomplete type
1614 | struct swait_queue_head wq;
| ^~
--
In file included from include/linux/nfs_fs.h:38,
from fs//nfs/dir.c:31:
> include/linux/nfs_xdr.h:1614:26: error: field 'wq' has
incomplete type
1614 | struct swait_queue_head wq;
| ^~
fs//nfs/dir.c: In function 'nfs_prime_dcache':
> fs//nfs/dir.c:464:2: error: implicit declaration of function
'DECLARE_SWAIT_QUEUE_HEAD_ONSTACK'; did you mean
'DECLARE_WAIT_QUEUE_HEAD_ONSTACK'? [-Werror=implicit-function-declaration]
464 | DECLARE_SWAIT_QUEUE_HEAD_ONSTACK(wq);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| DECLARE_WAIT_QUEUE_HEAD_ONSTACK
> fs//nfs/dir.c:464:35: error: 'wq' undeclared (first use
in this function); did you mean 'rq'?
464 |
DECLARE_SWAIT_QUEUE_HEAD_ONSTACK(wq);
| ^~
| rq
fs//nfs/dir.c:464:35: note: each undeclared identifier is reported only once for each
function it appears in
> fs//nfs/dir.c:465:2: warning: ISO C90 forbids mixed declarations
and code [-Wdeclaration-after-statement]
465 | struct dentry *dentry;
| ^~~~~~
fs//nfs/dir.c: In function 'nfs_atomic_open':
fs//nfs/dir.c:1638:35: error: 'wq' undeclared (first use in this function); did
you mean 'rq'?
1638 | DECLARE_SWAIT_QUEUE_HEAD_ONSTACK(wq);
| ^~
| rq
fs//nfs/dir.c:1639:2: warning: ISO C90 forbids mixed declarations and code
[-Wdeclaration-after-statement]
1639 | struct nfs_open_context *ctx;
| ^~~~~~
cc1: some warnings being treated as errors
--
In file included from include/linux/nfs_fs.h:38,
from fs//nfs/nfstrace.c:5:
> include/linux/nfs_xdr.h:1614:26: error: field 'wq' has
incomplete type
1614 | struct swait_queue_head wq;
| ^~
In file included from fs//nfs/nfstrace.h:1340,
from fs//nfs/nfstrace.c:10:
include/trace/define_trace.h:95:42: fatal error: ./nfstrace.h: No such file or
directory
95 | #include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
| ^
compilation terminated.
--
In file included from include/linux/nfs_fs.h:38,
from fs//nfs/nfs4trace.c:5:
> include/linux/nfs_xdr.h:1614:26: error: field 'wq' has
incomplete type
1614 | struct swait_queue_head wq;
| ^~
In file included from fs//nfs/nfs4trace.h:2272,
from fs//nfs/nfs4trace.c:13:
include/trace/define_trace.h:95:42: fatal error: ./nfs4trace.h: No such file or
directory
95 | #include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
| ^
compilation terminated.
--
fs//fuse/readdir.c: In function 'fuse_direntplus_link':
> fs//fuse/readdir.c:161:2: error: implicit declaration of function
'DECLARE_SWAIT_QUEUE_HEAD_ONSTACK'; did you mean
'DECLARE_WAIT_QUEUE_HEAD_ONSTACK'? [-Werror=implicit-function-declaration]
161 | DECLARE_SWAIT_QUEUE_HEAD_ONSTACK(wq);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| DECLARE_WAIT_QUEUE_HEAD_ONSTACK
> fs//fuse/readdir.c:161:35: error: 'wq' undeclared (first
use in this function); did you mean 'rq'?
161 |
DECLARE_SWAIT_QUEUE_HEAD_ONSTACK(wq);
| ^~
| rq
fs//fuse/readdir.c:161:35: note: each undeclared identifier is reported only once for
each function it appears in
cc1: some warnings being treated as errors
vim +1985 fs//proc/base.c
1960
1961 /*
1962 * Fill a directory entry.
1963 *
1964 * If possible create the dcache entry and derive our inode number and
1965 * file type from dcache entry.
1966 *
1967 * Since all of the proc inode numbers are dynamically generated, the inode
1968 * numbers do not exist until the inode is cache. This means creating the
1969 * the dcache entry in readdir is necessary to keep the inode numbers
1970 * reported by readdir in sync with the inode numbers reported
1971 * by stat.
1972 */
1973 bool proc_fill_cache(struct file *file, struct dir_context *ctx,
1974 const char *name, unsigned int len,
1975 instantiate_t instantiate, struct task_struct *task, const void *ptr)
1976 {
1977 struct dentry *child, *dir = file->f_path.dentry;
1978 struct qstr qname = QSTR_INIT(name, len);
1979 struct inode *inode;
1980 unsigned type = DT_UNKNOWN;
1981 ino_t ino = 1;
1982
1983 child = d_hash_and_lookup(dir, &qname);
1984 if (!child) {
1985 DECLARE_SWAIT_QUEUE_HEAD_ONSTACK(wq);
1986 child =
d_alloc_parallel(dir, &qname, &wq);
1987 if (IS_ERR(child))
1988 goto end_instantiate;
1989 if (d_in_lookup(child)) {
1990 struct dentry *res;
1991 res = instantiate(child, task, ptr);
1992 d_lookup_done(child);
1993 if (unlikely(res)) {
1994 dput(child);
1995 child = res;
1996 if (IS_ERR(child))
1997 goto end_instantiate;
1998 }
1999 }
2000 }
2001 inode = d_inode(child);
2002 ino = inode->i_ino;
2003 type = inode->i_mode >> 12;
2004 dput(child);
2005 end_instantiate:
2006 return dir_emit(ctx, name, len, ino, type);
2007 }
2008
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org