On Wed, Sep 16, 2020 at 05:42:50PM +0000, Johannes Thumshirn wrote: > On 15/09/2020 10:25, David Sterba wrote: > > On Fri, Sep 11, 2020 at 09:32:20PM +0900, Naohiro Aota wrote: > >> Changelog > >> v6: > >> - Use bitmap helpers (Johannes) > >> - Code cleanup (Johannes) > >> - Rebased on kdave/for-5.5 > >> - Enable the tree-log feature. > >> - Treat conventional zones as sequential zones, so we can now allow > >> mixed allocation of conventional zone and sequential write required > >> zone to construct a block group. > >> - Implement log-structured superblock > >> - No need for one conventional zone at the beginning of a device. > >> - Fix deadlock of direct IO writing > >> - Fix building with !CONFIG_BLK_DEV_ZONED (Johannes) > >> - Fix leak of zone_info (Johannes) > > > > I did a quick check to see if the patchset passes the default VM tests > > and there's use after free short after the fstests start. No zoned > > devices or such. I had to fix some conflicts when rebasing on misc-next > > but I tried to base it on the last iomap-dio patch ("btrfs: switch to > > iomap for direct IO"), same result so it's something in the zoned > > patches. > > > > The reported pointer 0x6b6b6b6b6d1918eb contains the use-after-free > > poison (0x6b) (CONFIG_PAGE_POISONING=y). > > > > MKFS_OPTIONS -- -f -K --csum xxhash /dev/vdb > > MOUNT_OPTIONS -- -o discard /dev/vdb /tmp/scratch > > Hi David, > > Can you check if this on top of the series fixes the issue? According > to Keith we can't call bio_iovec() from endio() as the iterator is already > advanced (see req_bio_endio()). It booted and is past the point it crashed before.