In the Linux kernel, the following vulnerability has been resolved: btrfs: restore active device pointers after failed sprout btrfs_init_new_device() switches latest_dev and possibly s_bdev from the seed device to the new sprout device before creating the first writable chunks. If chunk creation or the subsequent sprout setup fails, the error path releases the new device without switching those pointers back. btrfs_show_devname() can then dereference the freed latest_dev and crash. Restore the active device pointers to the latest seed device before removing and releasing the failed sprout device.
https://git.kernel.org/stable/c/e127ac29a52134d0f4cba39d38e4b375deb3d1aa
https://git.kernel.org/stable/c/e0b54613aabeb8e9da597f23b90c6a03d0981986
https://git.kernel.org/stable/c/b79b4b29003690acfade8241998fc0104ef9c84c
https://git.kernel.org/stable/c/2ee5c4bc11007c51f63f0c1be5d3f07f2b404ff7