Message ID | 20200213072656.15611-1-cyphar@cyphar.com (mailing list archive) |
---|---|
State | Mainlined |
Commit | 9a0584f05687947d5a0b87f046bcd2592a55e67c |
Headers | show |
Series | selftests: openat2: fix build error on newer glibc | expand |
On 2/13/20 12:26 AM, Aleksa Sarai wrote: > It appears that newer glibcs check that openat(O_CREAT) was provided a > fourth argument (rather than passing garbage), resulting in the > following build error: > >> In file included from /usr/include/fcntl.h:301, >> from helpers.c:9: >> In function 'openat', >> inlined from 'touchat' at helpers.c:49:11: >> /usr/include/x86_64-linux-gnu/bits/fcntl2.h:126:4: error: call to >> '__openat_missing_mode' declared with attribute error: openat with O_CREAT >> or O_TMPFILE in third argument needs 4 arguments >> 126 | __openat_missing_mode (); >> | ^~~~~~~~~~~~~~~~~~~~~~~~ > > Reported-by: Shuah Khan <shuah@kernel.org> > Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> > --- > tools/testing/selftests/openat2/helpers.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tools/testing/selftests/openat2/helpers.c b/tools/testing/selftests/openat2/helpers.c > index e9a6557ab16f..5074681ffdc9 100644 > --- a/tools/testing/selftests/openat2/helpers.c > +++ b/tools/testing/selftests/openat2/helpers.c > @@ -46,7 +46,7 @@ int sys_renameat2(int olddirfd, const char *oldpath, > > int touchat(int dfd, const char *path) > { > - int fd = openat(dfd, path, O_CREAT); > + int fd = openat(dfd, path, O_CREAT, 0700); > if (fd >= 0) > close(fd); > return fd; > Thanks for a quick patch. It compiles now. I will take this through kselftest tree. thanks, -- Shuah
diff --git a/tools/testing/selftests/openat2/helpers.c b/tools/testing/selftests/openat2/helpers.c index e9a6557ab16f..5074681ffdc9 100644 --- a/tools/testing/selftests/openat2/helpers.c +++ b/tools/testing/selftests/openat2/helpers.c @@ -46,7 +46,7 @@ int sys_renameat2(int olddirfd, const char *oldpath, int touchat(int dfd, const char *path) { - int fd = openat(dfd, path, O_CREAT); + int fd = openat(dfd, path, O_CREAT, 0700); if (fd >= 0) close(fd); return fd;