virtio_balloon: set DRIVER_OK before using device
virtio spec requires that all drivers set DRIVER_OK before using devices. While balloon isn't yet included in the virtio 1 spec, previous spec versions also required this. virtio balloon might violate this rule: probe calls kthread_run before setting DRIVER_OK, which might run immediately and cause balloon to inflate/deflate. To fix, call virtio_device_ready before running the kthread. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Cc: stable@kernel.org
This commit is contained in:
Родитель
eeb8a7e8bb
Коммит
88660f7fb9
|
@ -499,6 +499,8 @@ static int virtballoon_probe(struct virtio_device *vdev)
|
|||
if (err < 0)
|
||||
goto out_oom_notify;
|
||||
|
||||
virtio_device_ready(vdev);
|
||||
|
||||
vb->thread = kthread_run(balloon, vb, "vballoon");
|
||||
if (IS_ERR(vb->thread)) {
|
||||
err = PTR_ERR(vb->thread);
|
||||
|
|
Загрузка…
Ссылка в новой задаче