diff options
Diffstat (limited to 'drivers/virtio/virtio_balloon.c')
-rw-r--r-- | drivers/virtio/virtio_balloon.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/virtio/virtio_balloon.c b/drivers/virtio/virtio_balloon.c index 50c5f42d7a9f..0413157f3b49 100644 --- a/drivers/virtio/virtio_balloon.c +++ b/drivers/virtio/virtio_balloon.c | |||
@@ -44,8 +44,7 @@ static int oom_pages = OOM_VBALLOON_DEFAULT_PAGES; | |||
44 | module_param(oom_pages, int, S_IRUSR | S_IWUSR); | 44 | module_param(oom_pages, int, S_IRUSR | S_IWUSR); |
45 | MODULE_PARM_DESC(oom_pages, "pages to free on OOM"); | 45 | MODULE_PARM_DESC(oom_pages, "pages to free on OOM"); |
46 | 46 | ||
47 | struct virtio_balloon | 47 | struct virtio_balloon { |
48 | { | ||
49 | struct virtio_device *vdev; | 48 | struct virtio_device *vdev; |
50 | struct virtqueue *inflate_vq, *deflate_vq, *stats_vq; | 49 | struct virtqueue *inflate_vq, *deflate_vq, *stats_vq; |
51 | 50 | ||
@@ -466,6 +465,12 @@ static int virtballoon_probe(struct virtio_device *vdev) | |||
466 | struct virtio_balloon *vb; | 465 | struct virtio_balloon *vb; |
467 | int err; | 466 | int err; |
468 | 467 | ||
468 | if (!vdev->config->get) { | ||
469 | dev_err(&vdev->dev, "%s failure: config access disabled\n", | ||
470 | __func__); | ||
471 | return -EINVAL; | ||
472 | } | ||
473 | |||
469 | vdev->priv = vb = kmalloc(sizeof(*vb), GFP_KERNEL); | 474 | vdev->priv = vb = kmalloc(sizeof(*vb), GFP_KERNEL); |
470 | if (!vb) { | 475 | if (!vb) { |
471 | err = -ENOMEM; | 476 | err = -ENOMEM; |