VFIO has proved itself a much better option than KVM's built-in
device assignment. It is mature, provides better isolation because
it enforces ACS, and even the userspace code is being tested on
a wider variety of hardware these days than the legacy support.
Disable legacy device assignment by default.
Signed-off-by: Paolo Bonzini <[email protected]>
---
arch/x86/kvm/Kconfig | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/arch/x86/kvm/Kconfig b/arch/x86/kvm/Kconfig
index 413a7bf9efbb..a0f06a5947c5 100644
--- a/arch/x86/kvm/Kconfig
+++ b/arch/x86/kvm/Kconfig
@@ -88,13 +88,14 @@ config KVM_MMU_AUDIT
config KVM_DEVICE_ASSIGNMENT
bool "KVM legacy PCI device assignment support"
depends on KVM && PCI && IOMMU_API
- default y
+ default n
---help---
Provide support for legacy PCI device assignment through KVM. The
kernel now also supports a full featured userspace device driver
- framework through VFIO, which supersedes much of this support.
+ framework through VFIO, which supersedes this support and provides
+ better security.
- If unsure, say Y.
+ If unsure, say N.
# OK, it's a little counter-intuitive to do this, but it puts it neatly under
# the virtualization menu.
--
1.8.3.1
Paolo Bonzini <[email protected]> writes:
> VFIO has proved itself a much better option than KVM's built-in
> device assignment. It is mature, provides better isolation because
> it enforces ACS, and even the userspace code is being tested on
> a wider variety of hardware these days than the legacy support.
>
> Disable legacy device assignment by default.
Shouldn't we mark it as Deprecated then ?
Bandan
> Signed-off-by: Paolo Bonzini <[email protected]>
> ---
> arch/x86/kvm/Kconfig | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/arch/x86/kvm/Kconfig b/arch/x86/kvm/Kconfig
> index 413a7bf9efbb..a0f06a5947c5 100644
> --- a/arch/x86/kvm/Kconfig
> +++ b/arch/x86/kvm/Kconfig
> @@ -88,13 +88,14 @@ config KVM_MMU_AUDIT
> config KVM_DEVICE_ASSIGNMENT
> bool "KVM legacy PCI device assignment support"
> depends on KVM && PCI && IOMMU_API
> - default y
> + default n
> ---help---
> Provide support for legacy PCI device assignment through KVM. The
> kernel now also supports a full featured userspace device driver
> - framework through VFIO, which supersedes much of this support.
> + framework through VFIO, which supersedes this support and provides
> + better security.
>
> - If unsure, say Y.
> + If unsure, say N.
>
> # OK, it's a little counter-intuitive to do this, but it puts it neatly under
> # the virtualization menu.
On 04/06/2015 16:31, Bandan Das wrote:
> > VFIO has proved itself a much better option than KVM's built-in
> > device assignment. It is mature, provides better isolation because
> > it enforces ACS, and even the userspace code is being tested on
> > a wider variety of hardware these days than the legacy support.
> >
> > Disable legacy device assignment by default.
>
> Shouldn't we mark it as Deprecated then ?
Yes, good idea! You mean just " (DEPRECATED)" after the string, right?
Paolo
On Thu, 2015-06-04 at 16:33 +0200, Paolo Bonzini wrote:
>
> On 04/06/2015 16:31, Bandan Das wrote:
> > > VFIO has proved itself a much better option than KVM's built-in
> > > device assignment. It is mature, provides better isolation because
> > > it enforces ACS, and even the userspace code is being tested on
> > > a wider variety of hardware these days than the legacy support.
> > >
> > > Disable legacy device assignment by default.
> >
> > Shouldn't we mark it as Deprecated then ?
>
> Yes, good idea! You mean just " (DEPRECATED)" after the string, right?
The ioctls should probably also be listed as deprecated in
Documentation/virtual/kvm/api.txt. There's also
Documentation/ABI/obsolete if we intend to remove the code eventually.
Paolo Bonzini <[email protected]> writes:
> On 04/06/2015 16:31, Bandan Das wrote:
>> > VFIO has proved itself a much better option than KVM's built-in
>> > device assignment. It is mature, provides better isolation because
>> > it enforces ACS, and even the userspace code is being tested on
>> > a wider variety of hardware these days than the legacy support.
>> >
>> > Disable legacy device assignment by default.
>>
>> Shouldn't we mark it as Deprecated then ?
>
> Yes, good idea! You mean just " (DEPRECATED)" after the string, right?
Yeah, that is what I meant. The "Help" message does mention VFIO as the
newer option. Sometimes, seeing the word "DEPRECATED" makes one rethink if they
really need to enable it.
> Paolo