Page MenuHomeFreeBSD

Add kern_unmount(), use in Linuxulator
ClosedPublic

Authored by trasz on Dec 3 2019, 5:10 PM.
Tags
None
Referenced Files
F135948094: D22646.id67248.diff
Fri, Nov 14, 11:20 AM
F135935659: D22646.id65165.diff
Fri, Nov 14, 8:01 AM
F135929270: D22646.id.diff
Fri, Nov 14, 6:24 AM
F135911878: D22646.id65165.diff
Fri, Nov 14, 2:21 AM
F135908823: D22646.id67093.diff
Fri, Nov 14, 1:39 AM
Unknown Object (File)
Tue, Nov 4, 6:46 PM
Unknown Object (File)
Tue, Nov 4, 5:13 PM
Unknown Object (File)
Mon, Oct 27, 6:10 PM
Subscribers

Details

Summary

Add kern_unmount() and use in Linuxulator. No functional changes.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 28811
Build 26819: arc lint + arc unit

Event Timeline

sys/compat/linux/linux_file.c
1089

I am sure that it is not correct. Can we remove this function instead ?

trasz added inline comments.
sys/compat/linux/linux_file.c
1089

Not really, it's the Linux's main umount2(2) syscall. Should be fixed, though.

sys/compat/linux/linux_file.c
1082–1087

Don't you need to check other flags and at least log if anything is set ?

trasz marked an inline comment as done.

Detect unsupported flags.

trasz added inline comments.
sys/compat/linux/linux_file.c
1082–1087

Yeah, we can actually error out on unsupported ones.

sys/compat/linux/linux_file.c
1089

What about linux prefix translation ? I see that the old syscall code did not do that, why ?

Why would it? It doesn't make much sense; you want it to unmount what you pass as an argument, and not it's linuxulator counterpart. Besides; this is mostly for use inside jails/chroots.

Why would it? It doesn't make much sense; you want it to unmount what you pass as an argument, and not it's linuxulator counterpart. Besides; this is mostly for use inside jails/chroots.

Because this is the consistent behavior. BTW, linux_mount also needs the same fix.

This revision is now accepted and ready to land.Jan 21 2020, 7:58 PM