vfio/mdev: Follow correct remove sequence
authorParav Pandit <parav@mellanox.com>
Tue, 30 Apr 2019 22:49:32 +0000 (17:49 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 27 Jan 2020 13:50:45 +0000 (14:50 +0100)
[ Upstream commit a6d6f4f160f76d840e59affe664b8d3159e23056 ]

mdev_remove_sysfs_files() should follow exact mirror sequence of a
create, similar to what is followed in error unwinding path of
mdev_create_sysfs_files().

Fixes: 6a62c1dfb5c7 ("vfio/mdev: Re-order sysfs attribute creation")
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Signed-off-by: Parav Pandit <parav@mellanox.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/vfio/mdev/mdev_sysfs.c

index 249472f..e7770b5 100644 (file)
@@ -280,7 +280,7 @@ type_link_failed:
 
 void mdev_remove_sysfs_files(struct device *dev, struct mdev_type *type)
 {
+       sysfs_remove_files(&dev->kobj, mdev_device_attrs);
        sysfs_remove_link(&dev->kobj, "mdev_type");
        sysfs_remove_link(type->devices_kobj, dev_name(dev));
-       sysfs_remove_files(&dev->kobj, mdev_device_attrs);
 }