lkml.org 
[lkml]   [2020]   [Jan]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.19 605/639] vhost/test: stop device before reset
    Date
    From: Michael S. Tsirkin <mst@redhat.com>

    [ Upstream commit 245cdd9fbd396483d501db83047116e2530f245f ]

    When device stop was moved out of reset, test device wasn't updated to
    stop before reset, this resulted in a use after free. Fix by invoking
    stop appropriately.

    Fixes: b211616d7125 ("vhost: move -net specific code out")
    Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/vhost/test.c | 2 ++
    1 file changed, 2 insertions(+)

    diff --git a/drivers/vhost/test.c b/drivers/vhost/test.c
    index a9be2d8e98df7..55090d9f9de0d 100644
    --- a/drivers/vhost/test.c
    +++ b/drivers/vhost/test.c
    @@ -162,6 +162,7 @@ static int vhost_test_release(struct inode *inode, struct file *f)

    vhost_test_stop(n, &private);
    vhost_test_flush(n);
    + vhost_dev_stop(&n->dev);
    vhost_dev_cleanup(&n->dev);
    /* We do an extra flush before freeing memory,
    * since jobs can re-queue themselves. */
    @@ -238,6 +239,7 @@ static long vhost_test_reset_owner(struct vhost_test *n)
    }
    vhost_test_stop(n, &priv);
    vhost_test_flush(n);
    + vhost_dev_stop(&n->dev);
    vhost_dev_reset_owner(&n->dev, umem);
    done:
    mutex_unlock(&n->dev.mutex);
    --
    2.20.1


    \
     
     \ /
      Last update: 2020-01-24 12:35    [W:4.116 / U:0.052 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site