linux-next: build failure after merge of the pidfd tree

From: Stephen Rothwell
Date: Wed Mar 27 2019 - 22:04:55 EST


Hi Christian,

After merging the pidfd tree, today's linux-next build (arm
multi_v7_defconfig) failed like this:

kernel/pid.c: In function '__do_sys_pidfd_open':
kernel/pid.c:652:7: error: 'fd' redeclared as different kind of symbol
long fd = -EINVAL;
^~
In file included from kernel/pid.c:40:
kernel/pid.c:649:46: note: previous definition of 'fd' was here
SYSCALL_DEFINE4(pidfd_open, pid_t, pid, int, fd, int, pidfd,
~~~~~^~
include/linux/syscalls.h:117:27: note: in definition of macro '__SC_DECL'
#define __SC_DECL(t, a) t a
^
include/linux/syscalls.h:112:35: note: in expansion of macro '__MAP3'
#define __MAP4(m,t,a,...) m(t,a), __MAP3(m,__VA_ARGS__)
^~~~~~
include/linux/syscalls.h:115:22: note: in expansion of macro '__MAP4'
#define __MAP(n,...) __MAP##n(__VA_ARGS__)
^~~~~
include/linux/syscalls.h:253:36: note: in expansion of macro '__MAP'
static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))
^~~~~
include/linux/syscalls.h:226:2: note: in expansion of macro '__SYSCALL_DEFINEx'
__SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
^~~~~~~~~~~~~~~~~
include/linux/syscalls.h:218:36: note: in expansion of macro 'SYSCALL_DEFINEx'
#define SYSCALL_DEFINE4(name, ...) SYSCALL_DEFINEx(4, _##name, __VA_ARGS__)
^~~~~~~~~~~~~~~
kernel/pid.c:649:1: note: in expansion of macro 'SYSCALL_DEFINE4'
SYSCALL_DEFINE4(pidfd_open, pid_t, pid, int, fd, int, pidfd,
^~~~~~~~~~~~~~~
kernel/pid.c:663:7: error: 'procfd' undeclared (first use in this function); did you mean 'pidfd'?
if (procfd != -1 || pidfd != -1)
^~~~~~
pidfd
kernel/pid.c:663:7: note: each undeclared identifier is reported only once for each function it appears in

Caused by commit

9170fba40db0 ("pid: add pidfd_open()")

I have used the version of the pifd tree from next-20190327 for today.

Please do *not* use linux-next as a development tree (I have seen several
different version of this code over the past few days :-(). The rules
for linux-next included code include:
"
* posted to the relevant mailing list,
* reviewed by you (or another maintainer of your subsystem tree),
* successfully unit tested, and
* destined for the current or next Linux merge window.

Basically, this should be just what you would send to Linus (or ask him
to fetch)."
--
Cheers,
Stephen Rothwell

Attachment: pgpwkrB8OPKdR.pgp
Description: OpenPGP digital signature