diff options
author | Sebastian Lackner | 2019-01-03 18:11:07 +0100 |
---|---|---|
committer | rfjakob | 2019-01-03 18:24:05 +0100 |
commit | a1ba4b6576695a3e680364813425ffd9c9c7c148 (patch) | |
tree | a48631b16f47d006178f97770816569948e01319 | |
parent | 0414ef2572c3c07aa2a1b6dbb18a276a876c985a (diff) |
Omit syscall.O_RDONLY flag when passing O_PATH.
When O_PATH is specified in flags, flag bits other than O_CLOEXEC, O_DIRECTORY,
and O_NOFOLLOW are ignored.
-rw-r--r-- | init_dir.go | 2 | ||||
-rw-r--r-- | internal/fusefrontend/openbackingdir.go | 4 | ||||
-rw-r--r-- | tests/test_helpers/helpers.go | 2 |
3 files changed, 4 insertions, 4 deletions
diff --git a/init_dir.go b/init_dir.go index 1f5a7fc..ecfec9d 100644 --- a/init_dir.go +++ b/init_dir.go @@ -99,7 +99,7 @@ func initDir(args *argContainer) { // in the root dir if !args.plaintextnames && !args.reverse { // Open cipherdir (following symlinks) - dirfd, err := syscall.Open(args.cipherdir, syscall.O_RDONLY|syscall.O_DIRECTORY|syscallcompat.O_PATH, 0) + dirfd, err := syscall.Open(args.cipherdir, syscall.O_DIRECTORY|syscallcompat.O_PATH, 0) if err == nil { err = nametransform.WriteDirIVAt(dirfd) syscall.Close(dirfd) diff --git a/internal/fusefrontend/openbackingdir.go b/internal/fusefrontend/openbackingdir.go index d56848f..1cca81b 100644 --- a/internal/fusefrontend/openbackingdir.go +++ b/internal/fusefrontend/openbackingdir.go @@ -42,7 +42,7 @@ func (fs *FS) openBackingDir(relPath string) (dirfd int, cName string, err error return dirfd, cName, nil } // Open cipherdir (following symlinks) - dirfd, err = syscall.Open(fs.args.Cipherdir, syscall.O_RDONLY|syscall.O_DIRECTORY|syscallcompat.O_PATH, 0) + dirfd, err = syscall.Open(fs.args.Cipherdir, syscall.O_DIRECTORY|syscallcompat.O_PATH, 0) if err != nil { return -1, "", err } @@ -65,7 +65,7 @@ func (fs *FS) openBackingDir(relPath string) (dirfd int, cName string, err error break } // Not the last part? Descend into next directory. - dirfd2, err := syscallcompat.Openat(dirfd, cName, syscall.O_RDONLY|syscall.O_NOFOLLOW|syscall.O_DIRECTORY|syscallcompat.O_PATH, 0) + dirfd2, err := syscallcompat.Openat(dirfd, cName, syscall.O_NOFOLLOW|syscall.O_DIRECTORY|syscallcompat.O_PATH, 0) syscall.Close(dirfd) if err != nil { return -1, "", err diff --git a/tests/test_helpers/helpers.go b/tests/test_helpers/helpers.go index 9ff29a8..90eebdf 100644 --- a/tests/test_helpers/helpers.go +++ b/tests/test_helpers/helpers.go @@ -114,7 +114,7 @@ func ResetTmpDir(createDirIV bool) { } if createDirIV { // Open cipherdir (following symlinks) - dirfd, err := syscall.Open(DefaultCipherDir, syscall.O_RDONLY|syscall.O_DIRECTORY|syscallcompat.O_PATH, 0) + dirfd, err := syscall.Open(DefaultCipherDir, syscall.O_DIRECTORY|syscallcompat.O_PATH, 0) if err == nil { err = nametransform.WriteDirIVAt(dirfd) syscall.Close(dirfd) |