Linux: btrfs: detach failed sprout device from transaction update list
What fixes it
- 2a57fb1d5ce8f316b81bbb60e6df245ebc816ffcLinuxCVE List
- 86eff3052054e8f3b059b2d5845b6dcca021f20cLinuxCVE List
- 63bfa52eb3289517aa82cb90e1189385873aae21LinuxCVE List
- 7fe9dfbca43464baa8f050447a4837587b18adecLinuxCVE List
- 8b001df2b37ca022f710f3254fbb0bcd6d9e1bedLinuxCVE List
- 0ea6814bc0ff7cff443241bd34db9f0f828f3190LinuxCVE List
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
In the Linux kernel, the following vulnerability has been resolved:
btrfs: detach failed sprout device from transaction update list
When creating the first metadata chunk for a sprout filesystem, create_chunk() adds the new device to the transaction dev_update_list through device->post_commit_list.
If the subsequent system chunk creation fails, btrfs_init_new_device() aborts the transaction and releases the device while post_commit_list is still linked. This triggers a warning in btrfs_free_device() and leaves the transaction list referencing freed memory.
Detach the device while holding chunk_mutex before releasing it.
Text from CVE List
Affected versions 18
- Linuxaffected: bbbf7243d62d8be73b7ef60721c127b36b2d523e before 2a57fb1d5ce8f316b81bbb60e6df245ebc816ffcCVE List
- Linuxaffected: bbbf7243d62d8be73b7ef60721c127b36b2d523e before 86eff3052054e8f3b059b2d5845b6dcca021f20cCVE List
- Linuxaffected: bbbf7243d62d8be73b7ef60721c127b36b2d523e before 63bfa52eb3289517aa82cb90e1189385873aae21CVE List
- Linuxaffected: bbbf7243d62d8be73b7ef60721c127b36b2d523e before 7fe9dfbca43464baa8f050447a4837587b18adecCVE List
- Linuxaffected: bbbf7243d62d8be73b7ef60721c127b36b2d523e before e9e7e37afa85db770e6084360b21a21a8b3a583fCVE List
- Linuxaffected: bbbf7243d62d8be73b7ef60721c127b36b2d523e before 8b001df2b37ca022f710f3254fbb0bcd6d9e1bedCVE List
- Linuxaffected: bbbf7243d62d8be73b7ef60721c127b36b2d523e before 0ea6814bc0ff7cff443241bd34db9f0f828f3190CVE List
- Linuxaffected: bbbf7243d62d8be73b7ef60721c127b36b2d523e before c93b3c43df561cd9f592cee20ae058b563f9e5b6CVE List
- Linuxaffected: 5.2CVE List
- Linuxunaffected: all versions before 5.2CVE List
- Linuxunaffected: 5.10.271 through 5.10.*CVE List
- Linuxunaffected: 5.15.222 through 5.15.*CVE List
- Linuxunaffected: 6.1.189 through 6.1.*CVE List
- Linuxunaffected: 6.6.158 through 6.6.*CVE List
- Linuxunaffected: 6.12.111 through 6.12.*CVE List
- Linuxunaffected: 6.18.53 through 6.18.*CVE List
- Linuxunaffected: 7.2.7 through 7.2.*CVE List
- Linuxunaffected: 7.3CVE List
References 8
- git.kernel.org/stable/c/2a57fb1d5ce8f316b81bbb60e6df245ebc816ffcReferencevia CVE List
- git.kernel.org/stable/c/86eff3052054e8f3b059b2d5845b6dcca021f20cReferencevia CVE List
- git.kernel.org/stable/c/63bfa52eb3289517aa82cb90e1189385873aae21Referencevia CVE List
- git.kernel.org/stable/c/7fe9dfbca43464baa8f050447a4837587b18adecReferencevia CVE List
- git.kernel.org/stable/c/e9e7e37afa85db770e6084360b21a21a8b3a583fReferencevia CVE List
- git.kernel.org/stable/c/8b001df2b37ca022f710f3254fbb0bcd6d9e1bedReferencevia CVE List
- git.kernel.org/stable/c/0ea6814bc0ff7cff443241bd34db9f0f828f3190Referencevia CVE List
- git.kernel.org/stable/c/c93b3c43df561cd9f592cee20ae058b563f9e5b6Referencevia CVE List