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
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D37098

Details

Provenance
markjAuthored on Oct 24 2022, 9:31 PM
Reviewer
jhb
Differential Revision
D37098: libvmmapi: Provide an interface for limiting rights on the device fd
Parents
rG16295b0a5a57: dpaa2: cleanup some include files
Branches
Unknown
Tags
Unknown