-
Notifications
You must be signed in to change notification settings - Fork 257
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] realpath doesn't fail on non-existent paths on old devices #1260
Comments
(given https://android-review.googlesource.com/c/platform/bionic/+/1156838 we could potentially inline this if we cared enough about pre-KitKat.) |
Is anyone working on it? It also destroys |
I don't know why ndk thinks supporting kernel versions smaller than 3.6 is unimportant. |
for Google devices at least, kernel 3.6 was the jellybean kernel, and jellybean is no longer a supported NDK target. that does mean that devices that shipped with jellybean but saw a couple of dessert updates are still supported by the NDK, but our assumption is that the number of such devices is relatively small --- and that if this hasn't been a major problem in the years where those devices represented a larger fraction of devices, it's not going to be a major problem as those numbers dwindle to nothing. this is actually something i don't think we'd realized though... the point being that (quoting https://man7.org/linux/man-pages/man2/open.2.html), although O_PATH is available since Linux 2.6.39, it only works with fstat(2) since Linux 3.6, and https://android-review.googlesource.com/c/platform/bionic/+/1156838 uses fstat(2). this means that when we say that adding the new implementation to the headers fixes everything back to "kitkat", we actually only mean "back to devices that launched with kitkat", not ones that were upgraded to it. |
Not sure what led you to believe that. If we didn't care this bug would be closed wontfix. We have a lot of other tasks on our plate in addition to this one. |
@enh-google Looks like my finding is another issue. So I opened another issue here: #1686 |
Given that a CTS test was added to kitkat, and our minimum supported OS is now lollipop, this is probably obsolete? There's a chance that some devices upgrading from JB to L will have been given waivers, but I don't have access to that data afaik. If anyone knows that this is still a problem, lmk. I'm not really sure what can actually be done about this anyway. |
It looks like this was probably fixed in kitkat with https://android-review.googlesource.com/c/platform/bionic/+/52650 (that's when the test was added). The bug is definitely present on Jelly Bean.
This causes
std::filesystem::canonical
to incorrectly succeed on non-existent paths.The text was updated successfully, but these errors were encountered: