Redox: Use O_NOFOLLOW for lstat() #43056
Conversation
r? @BurntSushi (rust_highfive has picked a reviewer for you, use r? to override) |
Thanks for the PR @ids1024, we'll make sure @BurntSushi or another reviewer gets to this soon! |
@@ -447,7 +447,10 @@ pub fn stat(p: &Path) -> io::Result<FileAttr> { | |||
} | |||
|
|||
pub fn lstat(p: &Path) -> io::Result<FileAttr> { | |||
stat(p) | |||
let fd = cvt(syscall::open(p.to_str().unwrap(), | |||
syscall::O_CLOEXEC | syscall::O_STAT | syscall::O_NOFOLLOW))?; |
aidanhs
Jul 7, 2017
Member
FWIW this should probably also specify O_RDONLY
to obey posix (since redox seems to be posixish).
(it's an interesting dilemma whether redox should reject that syscall as-is - it's technically invalid, but linux would accept it because O_RDONLY
is defined as 0, so is always implicit. In redox it's defined as 1, so there's a choice between correctness and Linux program compatibility)
FWIW this should probably also specify O_RDONLY
to obey posix (since redox seems to be posixish).
(it's an interesting dilemma whether redox should reject that syscall as-is - it's technically invalid, but linux would accept it because O_RDONLY
is defined as 0, so is always implicit. In redox it's defined as 1, so there's a choice between correctness and Linux program compatibility)
jackpot51
Jul 8, 2017
•
Contributor
False. O_STAT
in Redox allows a file handle to be opened on a file without read permission, if the user has the ability to read the directory. This file handle can only be used for things like fstat
.
False. O_STAT
in Redox allows a file handle to be opened on a file without read permission, if the user has the ability to read the directory. This file handle can only be used for things like fstat
.
aidanhs
Jul 9, 2017
Member
Ah I see O_STAT
is not posix, I guess that justifies my 'ish' in 'posixish'. Thanks for the clarification.
Ah I see O_STAT
is not posix, I guess that justifies my 'ish' in 'posixish'. Thanks for the clarification.
Hi @BurntSushi - are you going to be reviewing this? Should someone else be reviewing it? Just trying to keep it going. |
|
|
@bors: r=burntsushi |
|
Redox: Use O_NOFOLLOW for lstat()
|
No description provided.