HomeFreeBSD

libvmmapi: Provide an interface for limiting rights on the device fd

Description

libvmmapi: Provide an interface for limiting rights on the device fd

Currently libvmmapi provides a way to get a list of the allowed ioctls
on the vmm device file, so that bhyve can limit rights on the device
file fd. The interface is rather strange: it allocates a copy of the
list but returns a const pointer, so the caller has to cast away the
const in order to free it without aggravating the compiler.

As far as I can see, there's no reason to make a copy of the array, but
changing vm_get_ioctls() to not do that would break compatibility. So
this change just introduces a better interface: move all rights-limiting
logic into libvmmapi.

Any new operations on the fd should be wrapped by libvmmapi, so also
discourage use of vm_get_device_fd(). Currently bhyve uses it only when
limiting rights on the device fd.

No functional change intended.

Reviewed by: jhb

(cherry picked from commit 3e9b4532d174378624e4582637883736f7781851)

Details

Provenance
markjAuthored on Oct 24 2022, 9:31 PM
Parents
rG759ee8654012: Add a description of soft updates journaling to newfs(8).
Branches
Unknown
Tags
Unknown