Patch "block: ublk: move ublk_chr_class destroying after devices are removed" has been added to the 6.1-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    block: ublk: move ublk_chr_class destroying after devices are removed

to the 6.1-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     block-ublk-move-ublk_chr_class-destroying-after-devi.patch
and it can be found in the queue-6.1 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 7b4dcecc4824ebce677162d3c880a2d507554f29
Author: Ming Lei <ming.lei@xxxxxxxxxx>
Date:   Thu Jan 26 19:53:46 2023 +0800

    block: ublk: move ublk_chr_class destroying after devices are removed
    
    [ Upstream commit 8e4ff684762b6503db45e8906e258faee080c336 ]
    
    The 'ublk_chr_class' is needed when deleting ublk char devices in
    ublk_exit(), so move it after devices(idle) are removed.
    
    Fixes the following warning reported by Harris, James R:
    
    [  859.178950] sysfs group 'power' not found for kobject 'ublkc0'
    [  859.178962] WARNING: CPU: 3 PID: 1109 at fs/sysfs/group.c:278 sysfs_remove_group+0x9c/0xb0
    
    Reported-by: "Harris, James R" <james.r.harris@xxxxxxxxx>
    Fixes: 71f28f3136af ("ublk_drv: add io_uring based userspace block driver")
    Link: https://lore.kernel.org/linux-block/Y9JlFmSgDl3+zy3N@T590/T/#t
    Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxx>
    Tested-by: Jim Harris <james.r.harris@xxxxxxxxx>
    Link: https://lore.kernel.org/r/20230126115346.263344-1-ming.lei@xxxxxxxxxx
    Signed-off-by: Jens Axboe <axboe@xxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/block/ublk_drv.c b/drivers/block/ublk_drv.c
index 17b677b5d3b2..e54693204630 100644
--- a/drivers/block/ublk_drv.c
+++ b/drivers/block/ublk_drv.c
@@ -2092,13 +2092,12 @@ static void __exit ublk_exit(void)
 	struct ublk_device *ub;
 	int id;
 
-	class_destroy(ublk_chr_class);
-
-	misc_deregister(&ublk_misc);
-
 	idr_for_each_entry(&ublk_index_idr, ub, id)
 		ublk_remove(ub);
 
+	class_destroy(ublk_chr_class);
+	misc_deregister(&ublk_misc);
+
 	idr_destroy(&ublk_index_idr);
 	unregister_chrdev_region(ublk_chr_devt, UBLK_MINORS);
 }



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux