checksyscall warning: #warning syscall getrandom not implemented

From: Theodore Ts'o
Date: Fri Jul 18 2014 - 04:15:45 EST


On Fri, Jul 18, 2014 at 07:48:49AM +0800, kbuild test robot wrote:
> All warnings:
>
> <stdin>:1229:2: warning: #warning syscall sched_setattr not implemented [-Wcpp]
> <stdin>:1232:2: warning: #warning syscall sched_getattr not implemented [-Wcpp]
> <stdin>:1235:2: warning: #warning syscall renameat2 not implemented [-Wcpp]
> >> <stdin>:1238:2: warning: #warning syscall getrandom not implemented [-Wcpp]
> --
> kernel/time/Kconfig:162:warning: range is invalid
> <stdin>:1229:2: warning: #warning syscall sched_setattr not implemented [-Wcpp]
> <stdin>:1232:2: warning: #warning syscall sched_getattr not implemented [-Wcpp]
> <stdin>:1235:2: warning: #warning syscall renameat2 not implemented [-Wcpp]
> >> <stdin>:1238:2: warning: #warning syscall getrandom not implemented [-Wcpp]

I was trying to figure out why this warning was happening, because I
was pretty sure I had properly wired up the getrandom syscall. It
looks like the problem was a stale unistd_32.h.

At some point, apprently the generated unistd.h file migrated from:

arch/x86/include/generated/asm/unistd_32.h

to

arch/x86/include/generated/uapi/asm/unistd_32.h

The stale unistd_32.h which was getting picked up by the checksyscalls
script, and this was causing all of these warnings --- both in my
tree, and apparently, the kbuild test robot's tree. It looks like
after the migration, the Makefiles aren't deleting the old generated
unistd.h file automatically. I tried to go through the Makefiles,
quickly got a headache, and decided it was easier to report the
problem than to send a patch :-P

There's a simple workaround anyway. Once I deleted the old, stale,
generated unistd_32.h file, and reran the build, all of the
checksyscall warnings went away.

- Ted
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/