在 2022/03/30 20:42, Jan Kara 写道:
Hello, with a big delay (I'm sorry for that) here is the sixth version of my patches to fix use-after-free issues in BFQ when processes with merged queues get moved to different cgroups. The patches have survived some beating in my test VM, but so far I fail to reproduce the original KASAN reports so testing from people who can reproduce them is most welcome. Kuai, can you please give these patches a run in your setup? Thanks a lot for your help with fixing this!
Thanks for the patch, I'll run reporducer and feedback to you soon. Kuai
Changes since v5: * Added handling of situation when bio is submitted for a cgroup that has already went through bfq_pd_offline() * Convert bfq to avoid using deprecated __bio_blkcg() and thus fix possible races when returned cgroup can change while bfq is working with a request Changes since v4: * Even more aggressive splitting of merged bfq queues to avoid problems with long merge chains. Changes since v3: * Changed handling of bfq group move to handle the case when target of the merge has moved. Changes since v2: * Improved handling of bfq queue splitting on move between cgroups * Removed broken change to bfq_put_cooperator() Changes since v1: * Added fix for bfq_put_cooperator() * Added fix to handle move between cgroups in bfq_merge_bio() Honza Previous versions: Link: http://lore.kernel.org/r/20211223171425.3551-1-jack@xxxxxxx # v1 Link: http://lore.kernel.org/r/20220105143037.20542-1-jack@xxxxxxx # v2 Link: http://lore.kernel.org/r/20220112113529.6355-1-jack@xxxxxxx # v3 Link: http://lore.kernel.org/r/20220114164215.28972-1-jack@xxxxxxx # v4 Link: http://lore.kernel.org/r/20220121105503.14069-1-jack@xxxxxxx # v5 .