Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
feat: introduce macos mount API support #2347
feat: introduce macos mount API support #2347
Changes from 4 commits
7de4c75
0da612d
298111b
6bc2472
86520a5
ba11a92
3a6fa9b
fd4cc36
9d4043b
47e45ee
51b5910
a2f3797
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For pointer casting, we prefer
.cast()
and.cast_mut()
over theas
keyword:BTW, we are casting an immutable reference (
&P3
) to a muable pinter (*mut c_void
), is this safe?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
libc:mount()
needs to recvlibc:c_void
type, It's hard to cast type tolibc:c_void
by thecast
function, So I have changed it tod.cast_mut() as *mut libc::c_void,
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah,
.cast().cast_mut()
should not work as the pointee type is unknown,.cast_mut().cast()
should work.Will
mount(2)
write to that pointer, if so, then a UB could happen:<There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From https://developer.apple.com/library/archive/documentation/System/Conceptual/ManPages_iPhoneOS/man2/mount.2.html man page
I think it's not be written, but nobody knows how Apple doing I think.