Subject: bug#30918: Don't use syscall() to call renameat2()

From: Paul Eggert <[email-masked]>
Date: Fri, 23 Mar 2018 12:02:36 -0700

On 03/23/2018 10:38 AM, Ross Burton wrote:
> Please consider
> changing renameat2.c so that it doesn't hit syscall() if the wrapper isn't
> available.

That would reintroduce race-condition security holes in the ordinary 
build of GNU Coreutils on GNU/Linux, which would not be a good thing. 
Instead, how about fixing fakeroot so that it traps 'syscall' and fails 
with errno == ENOTSUP? Better yet, fix fakeroot so that it implements 
the renameat2 semantics with that syscall. (Or even better, add 
renameat2 to both glibc and fakeroot. :-)