misc: mic: double free on ioctl error path
authorDan Carpenter <dan.carpenter@oracle.com>
Mon, 9 Jan 2017 08:20:16 +0000 (11:20 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 24 Jun 2017 05:11:16 +0000 (07:11 +0200)
commit 816c9311f1144a03da1fdc4feb2f6b0d3299fca0 upstream.

This function only has one caller.  Freeing "vdev" here leads to a use
after free bug.  There are several other error paths in this function
but this is the only one which frees "vdev".  It looks like the kfree()
can be safely removed.

Fixes: 61e9c905df78 ("misc: mic: Enable VOP host side functionality")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/misc/mic/vop/vop_vringh.c

index 88e4523..fed992e 100644 (file)
@@ -292,7 +292,6 @@ static int vop_virtio_add_device(struct vop_vdev *vdev,
        if (ret) {
                dev_err(vop_dev(vdev), "%s %d err %d\n",
                        __func__, __LINE__, ret);
-               kfree(vdev);
                return ret;
        }