Skip to content

Commit 005983d

Browse files
committed
syscalls/{f,l,}chown: Don't pass undocumented flags to open and chmod
man says that `mode` argument supports only standard mode flags. On Linux, those LTP tests seem to work by an accident, despite passing S_IFREG there - Linux masks mode with 07777 and ignores any other bits, including S_IFREG.
1 parent bcf3733 commit 005983d

File tree

7 files changed

+15
-15
lines changed

7 files changed

+15
-15
lines changed

testcases/kernel/syscalls/chown/chown02.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -81,10 +81,10 @@
8181
#include "safe_macros.h"
8282
#include "compat_16.h"
8383

84-
#define FILE_MODE (S_IFREG|S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH)
85-
#define NEW_PERMS1 (S_IFREG|S_IRWXU|S_IRWXG|S_ISUID|S_ISGID)
86-
#define NEW_PERMS2 (S_IFREG|S_IRWXU|S_ISGID)
87-
#define EXP_PERMS (S_IFREG|S_IRWXU|S_IRWXG)
84+
#define FILE_MODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH)
85+
#define NEW_PERMS1 (S_IRWXU|S_IRWXG|S_ISUID|S_ISGID)
86+
#define NEW_PERMS2 (S_IRWXU|S_ISGID)
87+
#define EXP_PERMS (S_IRWXU|S_IRWXG)
8888
#define TESTFILE1 "testfile1"
8989
#define TESTFILE2 "testfile2"
9090

testcases/kernel/syscalls/chown/chown03.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,8 @@
8484
#include "safe_macros.h"
8585
#include "compat_16.h"
8686

87-
#define FILE_MODE (S_IFREG|S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH)
88-
#define NEW_PERMS (S_IFREG|S_IRWXU|S_IRWXG|S_ISUID|S_ISGID)
87+
#define FILE_MODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH)
88+
#define NEW_PERMS (S_IRWXU|S_IRWXG|S_ISUID|S_ISGID)
8989
#define TESTFILE "testfile"
9090

9191
TCID_DEFINE(chown03);

testcases/kernel/syscalls/chown/chown05.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@
7979
#include "safe_macros.h"
8080
#include "compat_16.h"
8181

82-
#define FILE_MODE (S_IFREG|S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH)
82+
#define FILE_MODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH)
8383
#define TESTFILE "testfile"
8484

8585
TCID_DEFINE(chown05);

testcases/kernel/syscalls/fchown/fchown02.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,10 @@
3939
#include "safe_macros.h"
4040
#include "compat_16.h"
4141

42-
#define FILE_MODE S_IFREG | S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
43-
#define NEW_PERMS1 S_IFREG | S_IRWXU | S_IRWXG | S_ISUID | S_ISGID
44-
#define NEW_PERMS2 S_IFREG | S_IRWXU | S_ISGID
45-
#define EXP_PERMS S_IFREG | S_IRWXU | S_IRWXG
42+
#define FILE_MODE S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
43+
#define NEW_PERMS1 S_IRWXU | S_IRWXG | S_ISUID | S_ISGID
44+
#define NEW_PERMS2 S_IRWXU | S_ISGID
45+
#define EXP_PERMS S_IRWXU | S_IRWXG
4646
#define TESTFILE1 "testfile1"
4747
#define TESTFILE2 "testfile2"
4848

testcases/kernel/syscalls/fchown/fchown03.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@
4242
#include "safe_macros.h"
4343
#include "compat_16.h"
4444

45-
#define FILE_MODE (mode_t)(S_IFREG | S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)
46-
#define NEW_PERMS (mode_t)(S_IFREG | S_IRWXU | S_IRWXG | S_ISUID | S_ISGID)
45+
#define FILE_MODE (mode_t)(S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)
46+
#define NEW_PERMS (mode_t)(S_IRWXU | S_IRWXG | S_ISUID | S_ISGID)
4747
#define FCHOWN_PERMS (mode_t)(NEW_PERMS & ~(S_ISUID | S_ISGID))
4848
#define TESTFILE "testfile"
4949

testcases/kernel/syscalls/fchown/fchown05.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
#include "safe_macros.h"
3636
#include "compat_16.h"
3737

38-
#define FILE_MODE S_IFREG | S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
38+
#define FILE_MODE S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
3939
#define TESTFILE "testfile"
4040

4141
TCID_DEFINE(fchown05);

testcases/kernel/syscalls/lchown/lchown01.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
#include "safe_macros.h"
4444
#include "compat_16.h"
4545

46-
#define FILE_MODE (S_IFREG|S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH)
46+
#define FILE_MODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH)
4747
#define TESTFILE "testfile"
4848
#define SFILE "slink_file"
4949

0 commit comments

Comments
 (0)