Skip to content

Commit

Permalink
selftests: openat2: fix build error on newer glibc
Browse files Browse the repository at this point in the history
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 <[email protected]>
Signed-off-by: Aleksa Sarai <[email protected]>
Tested-by: Shuah Khan <[email protected]>
Signed-off-by: Shuah Khan <[email protected]>
  • Loading branch information
cyphar authored and shuahkh committed Feb 13, 2020
1 parent 3e83936 commit 9a0584f
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion tools/testing/selftests/openat2/helpers.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down

0 comments on commit 9a0584f

Please sign in to comment.