Page MenuHomeFreeBSD

Add kern_unmount(), use in Linuxulator
ClosedPublic

Authored by trasz on Dec 3 2019, 5:10 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Nov 18, 4:46 AM
Unknown Object (File)
Sun, Nov 17, 10:30 PM
Unknown Object (File)
Sat, Nov 16, 7:57 PM
Unknown Object (File)
Fri, Nov 15, 8:18 PM
Unknown Object (File)
Thu, Nov 14, 10:01 AM
Unknown Object (File)
Wed, Nov 13, 11:03 PM
Unknown Object (File)
Wed, Nov 13, 10:53 PM
Unknown Object (File)
Wed, Nov 13, 7:14 PM
Subscribers

Details

Summary

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

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

sys/compat/linux/linux_file.c
1064 ↗(On Diff #65165)

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

trasz added inline comments.
sys/compat/linux/linux_file.c
1064 ↗(On Diff #65165)

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

sys/compat/linux/linux_file.c
1081 ↗(On Diff #67043)

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
1081 ↗(On Diff #67043)

Yeah, we can actually error out on unsupported ones.

sys/compat/linux/linux_file.c
1089 ↗(On Diff #67093)

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