On Wed, Jun 01 2022 at 2:04P -0400, Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote: > On Tue, May 31, 2022 at 02:58:00PM -0400, Mike Snitzer wrote: > > Yes, we need the above to fix the crash. Does it also make sense to > > add this? > > Can we just stop treating bio_sets so sloppily and make the callers > handle their lifetime properly? No one should have to use > bioset_initialized (or double free bio_sets). > Please take the time to look at the code and save your judgement until you do. That said, I'm not in love with the complexity of how DM handles bioset initialization. But both you and Jens keep taking shots at DM for doing things wrong without actually looking. DM uses bioset_init_from_src(). Yet you've both assumed double frees and such (while not entirely wrong your glossing over the detail that there is intervening reinitialization of DM's biosets between the bioset_exit()s) And it really can just be that the block code had a bug where it didn't clear bs->cache. Doesn't need to be cause for attacks.