diff options
author | Michael S. Tsirkin <mst@redhat.com> | 2012-09-28 15:05:16 +0930 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2012-09-28 15:05:16 +0930 |
commit | 5543a6ac31eb4bfd8d938db6b234ce833d14e04e (patch) | |
tree | df471800d5701f2c0db0d2a1d4659fbb0549473e /drivers/virtio | |
parent | eccbb05a64fef867362ff05b5d266757e3c82b36 (diff) | |
download | linux-5543a6ac31eb4bfd8d938db6b234ce833d14e04e.tar.gz linux-5543a6ac31eb4bfd8d938db6b234ce833d14e04e.tar.bz2 linux-5543a6ac31eb4bfd8d938db6b234ce833d14e04e.zip |
virtio: don't crash when device is buggy
Because of a sanity check in virtio_dev_remove, a buggy device can crash
kernel. And in case of rproc it's userspace so it's not a good idea.
We are unloading a driver so how bad can it be?
Be less aggressive in handling this error: if it's a driver bug,
warning once should be enough.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'drivers/virtio')
-rw-r--r-- | drivers/virtio/virtio.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/virtio/virtio.c b/drivers/virtio/virtio.c index c3b3f7f0d9d1..1e8659ca27ef 100644 --- a/drivers/virtio/virtio.c +++ b/drivers/virtio/virtio.c @@ -159,7 +159,7 @@ static int virtio_dev_remove(struct device *_d) drv->remove(dev); /* Driver should have reset device. */ - BUG_ON(dev->config->get_status(dev)); + WARN_ON_ONCE(dev->config->get_status(dev)); /* Acknowledge the device's existence again. */ add_status(dev, VIRTIO_CONFIG_S_ACKNOWLEDGE); |