um: virtio_uml: Disallow modular build
authorJohannes Berg <johannes.berg@intel.com>
Tue, 8 Oct 2019 15:43:21 +0000 (17:43 +0200)
committerRichard Weinberger <richard@nod.at>
Mon, 25 Nov 2019 21:43:21 +0000 (22:43 +0100)
This driver *can* be a module, but then its parameters (socket path)
are untrusted data from inside the VM, and that isn't allowed. Allow
the code to only be built-in to avoid that.

Fixes: 5d38f324993f ("um: drivers: Add virtio vhost-user driver")
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Acked-by: Anton Ivanov <anton.ivanov@cambridgegreys.co.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
arch/um/drivers/Kconfig
arch/um/drivers/virtio_uml.c

index fea5a0d..388096f 100644 (file)
@@ -337,7 +337,7 @@ config UML_NET_SLIRP
 endmenu
 
 config VIRTIO_UML
 endmenu
 
 config VIRTIO_UML
-       tristate "UML driver for virtio devices"
+       bool "UML driver for virtio devices"
        select VIRTIO
        help
          This driver provides support for virtio based paravirtual device
        select VIRTIO
        help
          This driver provides support for virtio based paravirtual device
index 76b97c2..023ced2 100644 (file)
@@ -4,12 +4,12 @@
  *
  * Copyright(c) 2019 Intel Corporation
  *
  *
  * Copyright(c) 2019 Intel Corporation
  *
- * This module allows virtio devices to be used over a vhost-user socket.
+ * This driver allows virtio devices to be used over a vhost-user socket.
  *
  * Guest devices can be instantiated by kernel module or command line
  * parameters. One device will be created for each parameter. Syntax:
  *
  *
  * Guest devices can be instantiated by kernel module or command line
  * parameters. One device will be created for each parameter. Syntax:
  *
- *             [virtio_uml.]device=<socket>:<virtio_id>[:<platform_id>]
+ *             virtio_uml.device=<socket>:<virtio_id>[:<platform_id>]
  * where:
  *             <socket>        := vhost-user socket path to connect
  *             <virtio_id>     := virtio device id (as in virtio_ids.h)
  * where:
  *             <socket>        := vhost-user socket path to connect
  *             <virtio_id>     := virtio device id (as in virtio_ids.h)